SkJumper_generated_win.S revision 7eb86981a954c500fa4a4d8425496a5beb789e5d
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
9IFDEF RAX
10_text32 SEGMENT ALIGN(32) 'CODE'
11ALIGN 32
12
13PUBLIC _sk_start_pipeline_hsw
14_sk_start_pipeline_hsw LABEL PROC
15  DB  65,87                               ; push          %r15
16  DB  65,86                               ; push          %r14
17  DB  65,85                               ; push          %r13
18  DB  65,84                               ; push          %r12
19  DB  86                                  ; push          %rsi
20  DB  87                                  ; push          %rdi
21  DB  83                                  ; push          %rbx
22  DB  72,129,236,160,0,0,0                ; sub           $0xa0,%rsp
23  DB  197,120,41,188,36,144,0,0,0         ; vmovaps       %xmm15,0x90(%rsp)
24  DB  197,120,41,180,36,128,0,0,0         ; vmovaps       %xmm14,0x80(%rsp)
25  DB  197,120,41,108,36,112               ; vmovaps       %xmm13,0x70(%rsp)
26  DB  197,120,41,100,36,96                ; vmovaps       %xmm12,0x60(%rsp)
27  DB  197,120,41,92,36,80                 ; vmovaps       %xmm11,0x50(%rsp)
28  DB  197,120,41,84,36,64                 ; vmovaps       %xmm10,0x40(%rsp)
29  DB  197,120,41,76,36,48                 ; vmovaps       %xmm9,0x30(%rsp)
30  DB  197,120,41,68,36,32                 ; vmovaps       %xmm8,0x20(%rsp)
31  DB  197,248,41,124,36,16                ; vmovaps       %xmm7,0x10(%rsp)
32  DB  197,248,41,52,36                    ; vmovaps       %xmm6,(%rsp)
33  DB  77,137,205                          ; mov           %r9,%r13
34  DB  77,137,198                          ; mov           %r8,%r14
35  DB  72,137,203                          ; mov           %rcx,%rbx
36  DB  72,137,214                          ; mov           %rdx,%rsi
37  DB  72,173                              ; lods          %ds:(%rsi),%rax
38  DB  73,137,199                          ; mov           %rax,%r15
39  DB  73,137,244                          ; mov           %rsi,%r12
40  DB  72,141,67,8                         ; lea           0x8(%rbx),%rax
41  DB  76,57,232                           ; cmp           %r13,%rax
42  DB  118,5                               ; jbe           75 <_sk_start_pipeline_hsw+0x75>
43  DB  72,137,223                          ; mov           %rbx,%rdi
44  DB  235,65                              ; jmp           b6 <_sk_start_pipeline_hsw+0xb6>
45  DB  185,0,0,0,0                         ; mov           $0x0,%ecx
46  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
47  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
48  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
49  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
50  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
51  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
52  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
53  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
54  DB  72,137,223                          ; mov           %rbx,%rdi
55  DB  76,137,230                          ; mov           %r12,%rsi
56  DB  76,137,242                          ; mov           %r14,%rdx
57  DB  65,255,215                          ; callq         *%r15
58  DB  72,141,123,8                        ; lea           0x8(%rbx),%rdi
59  DB  72,131,195,16                       ; add           $0x10,%rbx
60  DB  76,57,235                           ; cmp           %r13,%rbx
61  DB  72,137,251                          ; mov           %rdi,%rbx
62  DB  118,191                             ; jbe           75 <_sk_start_pipeline_hsw+0x75>
63  DB  76,137,233                          ; mov           %r13,%rcx
64  DB  72,41,249                           ; sub           %rdi,%rcx
65  DB  116,41                              ; je            e7 <_sk_start_pipeline_hsw+0xe7>
66  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
67  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
68  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
69  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
70  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
71  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
72  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
73  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
74  DB  76,137,230                          ; mov           %r12,%rsi
75  DB  76,137,242                          ; mov           %r14,%rdx
76  DB  65,255,215                          ; callq         *%r15
77  DB  76,137,232                          ; mov           %r13,%rax
78  DB  197,248,40,52,36                    ; vmovaps       (%rsp),%xmm6
79  DB  197,248,40,124,36,16                ; vmovaps       0x10(%rsp),%xmm7
80  DB  197,120,40,68,36,32                 ; vmovaps       0x20(%rsp),%xmm8
81  DB  197,120,40,76,36,48                 ; vmovaps       0x30(%rsp),%xmm9
82  DB  197,120,40,84,36,64                 ; vmovaps       0x40(%rsp),%xmm10
83  DB  197,120,40,92,36,80                 ; vmovaps       0x50(%rsp),%xmm11
84  DB  197,120,40,100,36,96                ; vmovaps       0x60(%rsp),%xmm12
85  DB  197,120,40,108,36,112               ; vmovaps       0x70(%rsp),%xmm13
86  DB  197,120,40,180,36,128,0,0,0         ; vmovaps       0x80(%rsp),%xmm14
87  DB  197,120,40,188,36,144,0,0,0         ; vmovaps       0x90(%rsp),%xmm15
88  DB  72,129,196,160,0,0,0                ; add           $0xa0,%rsp
89  DB  91                                  ; pop           %rbx
90  DB  95                                  ; pop           %rdi
91  DB  94                                  ; pop           %rsi
92  DB  65,92                               ; pop           %r12
93  DB  65,93                               ; pop           %r13
94  DB  65,94                               ; pop           %r14
95  DB  65,95                               ; pop           %r15
96  DB  197,248,119                         ; vzeroupper
97  DB  195                                 ; retq
98
99PUBLIC _sk_just_return_hsw
100_sk_just_return_hsw LABEL PROC
101  DB  195                                 ; retq
102
103PUBLIC _sk_seed_shader_hsw
104_sk_seed_shader_hsw LABEL PROC
105  DB  72,173                              ; lods          %ds:(%rsi),%rax
106  DB  197,249,110,199                     ; vmovd         %edi,%xmm0
107  DB  196,226,125,88,192                  ; vpbroadcastd  %xmm0,%ymm0
108  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
109  DB  196,226,125,24,13,222,60,0,0        ; vbroadcastss  0x3cde(%rip),%ymm1        # 3e38 <_sk_callback_hsw+0x11b>
110  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
111  DB  197,252,88,2                        ; vaddps        (%rdx),%ymm0,%ymm0
112  DB  196,226,125,24,16                   ; vbroadcastss  (%rax),%ymm2
113  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
114  DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
115  DB  72,173                              ; lods          %ds:(%rsi),%rax
116  DB  196,226,125,24,21,194,60,0,0        ; vbroadcastss  0x3cc2(%rip),%ymm2        # 3e3c <_sk_callback_hsw+0x11f>
117  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
118  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
119  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
120  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
121  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
122  DB  255,224                             ; jmpq          *%rax
123
124PUBLIC _sk_constant_color_hsw
125_sk_constant_color_hsw LABEL PROC
126  DB  72,173                              ; lods          %ds:(%rsi),%rax
127  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
128  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
129  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
130  DB  196,226,125,24,88,12                ; vbroadcastss  0xc(%rax),%ymm3
131  DB  72,173                              ; lods          %ds:(%rsi),%rax
132  DB  255,224                             ; jmpq          *%rax
133
134PUBLIC _sk_clear_hsw
135_sk_clear_hsw LABEL PROC
136  DB  72,173                              ; lods          %ds:(%rsi),%rax
137  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
138  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
139  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
140  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
141  DB  255,224                             ; jmpq          *%rax
142
143PUBLIC _sk_srcatop_hsw
144_sk_srcatop_hsw LABEL PROC
145  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
146  DB  196,98,125,24,5,114,60,0,0          ; vbroadcastss  0x3c72(%rip),%ymm8        # 3e40 <_sk_callback_hsw+0x123>
147  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
148  DB  196,226,61,184,196                  ; vfmadd231ps   %ymm4,%ymm8,%ymm0
149  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
150  DB  196,226,61,184,205                  ; vfmadd231ps   %ymm5,%ymm8,%ymm1
151  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
152  DB  196,226,61,184,214                  ; vfmadd231ps   %ymm6,%ymm8,%ymm2
153  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
154  DB  196,194,69,168,216                  ; vfmadd213ps   %ymm8,%ymm7,%ymm3
155  DB  72,173                              ; lods          %ds:(%rsi),%rax
156  DB  255,224                             ; jmpq          *%rax
157
158PUBLIC _sk_dstatop_hsw
159_sk_dstatop_hsw LABEL PROC
160  DB  196,98,125,24,5,69,60,0,0           ; vbroadcastss  0x3c45(%rip),%ymm8        # 3e44 <_sk_callback_hsw+0x127>
161  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
162  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
163  DB  196,226,101,184,196                 ; vfmadd231ps   %ymm4,%ymm3,%ymm0
164  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
165  DB  196,226,101,184,205                 ; vfmadd231ps   %ymm5,%ymm3,%ymm1
166  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
167  DB  196,226,101,184,214                 ; vfmadd231ps   %ymm6,%ymm3,%ymm2
168  DB  197,60,89,195                       ; vmulps        %ymm3,%ymm8,%ymm8
169  DB  196,194,69,168,216                  ; vfmadd213ps   %ymm8,%ymm7,%ymm3
170  DB  72,173                              ; lods          %ds:(%rsi),%rax
171  DB  255,224                             ; jmpq          *%rax
172
173PUBLIC _sk_srcin_hsw
174_sk_srcin_hsw LABEL PROC
175  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
176  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
177  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
178  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
179  DB  72,173                              ; lods          %ds:(%rsi),%rax
180  DB  255,224                             ; jmpq          *%rax
181
182PUBLIC _sk_dstin_hsw
183_sk_dstin_hsw LABEL PROC
184  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
185  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
186  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
187  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
188  DB  72,173                              ; lods          %ds:(%rsi),%rax
189  DB  255,224                             ; jmpq          *%rax
190
191PUBLIC _sk_srcout_hsw
192_sk_srcout_hsw LABEL PROC
193  DB  196,98,125,24,5,236,59,0,0          ; vbroadcastss  0x3bec(%rip),%ymm8        # 3e48 <_sk_callback_hsw+0x12b>
194  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
195  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
196  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
197  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
198  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
199  DB  72,173                              ; lods          %ds:(%rsi),%rax
200  DB  255,224                             ; jmpq          *%rax
201
202PUBLIC _sk_dstout_hsw
203_sk_dstout_hsw LABEL PROC
204  DB  196,226,125,24,5,207,59,0,0         ; vbroadcastss  0x3bcf(%rip),%ymm0        # 3e4c <_sk_callback_hsw+0x12f>
205  DB  197,252,92,219                      ; vsubps        %ymm3,%ymm0,%ymm3
206  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
207  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
208  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
209  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
210  DB  72,173                              ; lods          %ds:(%rsi),%rax
211  DB  255,224                             ; jmpq          *%rax
212
213PUBLIC _sk_srcover_hsw
214_sk_srcover_hsw LABEL PROC
215  DB  196,98,125,24,5,178,59,0,0          ; vbroadcastss  0x3bb2(%rip),%ymm8        # 3e50 <_sk_callback_hsw+0x133>
216  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
217  DB  196,194,93,184,192                  ; vfmadd231ps   %ymm8,%ymm4,%ymm0
218  DB  196,194,85,184,200                  ; vfmadd231ps   %ymm8,%ymm5,%ymm1
219  DB  196,194,77,184,208                  ; vfmadd231ps   %ymm8,%ymm6,%ymm2
220  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
221  DB  72,173                              ; lods          %ds:(%rsi),%rax
222  DB  255,224                             ; jmpq          *%rax
223
224PUBLIC _sk_dstover_hsw
225_sk_dstover_hsw LABEL PROC
226  DB  196,98,125,24,5,145,59,0,0          ; vbroadcastss  0x3b91(%rip),%ymm8        # 3e54 <_sk_callback_hsw+0x137>
227  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
228  DB  196,226,61,168,196                  ; vfmadd213ps   %ymm4,%ymm8,%ymm0
229  DB  196,226,61,168,205                  ; vfmadd213ps   %ymm5,%ymm8,%ymm1
230  DB  196,226,61,168,214                  ; vfmadd213ps   %ymm6,%ymm8,%ymm2
231  DB  196,226,61,168,223                  ; vfmadd213ps   %ymm7,%ymm8,%ymm3
232  DB  72,173                              ; lods          %ds:(%rsi),%rax
233  DB  255,224                             ; jmpq          *%rax
234
235PUBLIC _sk_modulate_hsw
236_sk_modulate_hsw LABEL PROC
237  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
238  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
239  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
240  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
241  DB  72,173                              ; lods          %ds:(%rsi),%rax
242  DB  255,224                             ; jmpq          *%rax
243
244PUBLIC _sk_multiply_hsw
245_sk_multiply_hsw LABEL PROC
246  DB  196,98,125,24,5,92,59,0,0           ; vbroadcastss  0x3b5c(%rip),%ymm8        # 3e58 <_sk_callback_hsw+0x13b>
247  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
248  DB  197,52,89,208                       ; vmulps        %ymm0,%ymm9,%ymm10
249  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
250  DB  196,98,61,184,212                   ; vfmadd231ps   %ymm4,%ymm8,%ymm10
251  DB  196,194,93,168,194                  ; vfmadd213ps   %ymm10,%ymm4,%ymm0
252  DB  197,52,89,209                       ; vmulps        %ymm1,%ymm9,%ymm10
253  DB  196,98,61,184,213                   ; vfmadd231ps   %ymm5,%ymm8,%ymm10
254  DB  196,194,85,168,202                  ; vfmadd213ps   %ymm10,%ymm5,%ymm1
255  DB  197,52,89,210                       ; vmulps        %ymm2,%ymm9,%ymm10
256  DB  196,98,61,184,214                   ; vfmadd231ps   %ymm6,%ymm8,%ymm10
257  DB  196,194,77,168,210                  ; vfmadd213ps   %ymm10,%ymm6,%ymm2
258  DB  197,52,89,203                       ; vmulps        %ymm3,%ymm9,%ymm9
259  DB  196,66,69,168,193                   ; vfmadd213ps   %ymm9,%ymm7,%ymm8
260  DB  196,194,69,168,216                  ; vfmadd213ps   %ymm8,%ymm7,%ymm3
261  DB  72,173                              ; lods          %ds:(%rsi),%rax
262  DB  255,224                             ; jmpq          *%rax
263
264PUBLIC _sk_plus__hsw
265_sk_plus__hsw LABEL PROC
266  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
267  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
268  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
269  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
270  DB  72,173                              ; lods          %ds:(%rsi),%rax
271  DB  255,224                             ; jmpq          *%rax
272
273PUBLIC _sk_screen_hsw
274_sk_screen_hsw LABEL PROC
275  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
276  DB  196,194,93,172,192                  ; vfnmadd213ps  %ymm8,%ymm4,%ymm0
277  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
278  DB  196,194,85,172,200                  ; vfnmadd213ps  %ymm8,%ymm5,%ymm1
279  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
280  DB  196,194,77,172,208                  ; vfnmadd213ps  %ymm8,%ymm6,%ymm2
281  DB  197,100,88,199                      ; vaddps        %ymm7,%ymm3,%ymm8
282  DB  196,194,69,172,216                  ; vfnmadd213ps  %ymm8,%ymm7,%ymm3
283  DB  72,173                              ; lods          %ds:(%rsi),%rax
284  DB  255,224                             ; jmpq          *%rax
285
286PUBLIC _sk_xor__hsw
287_sk_xor__hsw LABEL PROC
288  DB  196,98,125,24,5,215,58,0,0          ; vbroadcastss  0x3ad7(%rip),%ymm8        # 3e5c <_sk_callback_hsw+0x13f>
289  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
290  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
291  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
292  DB  196,226,61,184,196                  ; vfmadd231ps   %ymm4,%ymm8,%ymm0
293  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
294  DB  196,226,61,184,205                  ; vfmadd231ps   %ymm5,%ymm8,%ymm1
295  DB  197,180,89,210                      ; vmulps        %ymm2,%ymm9,%ymm2
296  DB  196,226,61,184,214                  ; vfmadd231ps   %ymm6,%ymm8,%ymm2
297  DB  197,180,89,219                      ; vmulps        %ymm3,%ymm9,%ymm3
298  DB  196,98,69,168,195                   ; vfmadd213ps   %ymm3,%ymm7,%ymm8
299  DB  72,173                              ; lods          %ds:(%rsi),%rax
300  DB  197,124,41,195                      ; vmovaps       %ymm8,%ymm3
301  DB  255,224                             ; jmpq          *%rax
302
303PUBLIC _sk_darken_hsw
304_sk_darken_hsw LABEL PROC
305  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
306  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
307  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
308  DB  196,193,124,95,193                  ; vmaxps        %ymm9,%ymm0,%ymm0
309  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
310  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
311  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
312  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
313  DB  196,193,116,95,201                  ; vmaxps        %ymm9,%ymm1,%ymm1
314  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
315  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
316  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
317  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
318  DB  196,193,108,95,209                  ; vmaxps        %ymm9,%ymm2,%ymm2
319  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
320  DB  196,98,125,24,5,95,58,0,0           ; vbroadcastss  0x3a5f(%rip),%ymm8        # 3e60 <_sk_callback_hsw+0x143>
321  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
322  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
323  DB  72,173                              ; lods          %ds:(%rsi),%rax
324  DB  255,224                             ; jmpq          *%rax
325
326PUBLIC _sk_lighten_hsw
327_sk_lighten_hsw LABEL PROC
328  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
329  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
330  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
331  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
332  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
333  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
334  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
335  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
336  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
337  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
338  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
339  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
340  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
341  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
342  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
343  DB  196,98,125,24,5,14,58,0,0           ; vbroadcastss  0x3a0e(%rip),%ymm8        # 3e64 <_sk_callback_hsw+0x147>
344  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
345  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
346  DB  72,173                              ; lods          %ds:(%rsi),%rax
347  DB  255,224                             ; jmpq          *%rax
348
349PUBLIC _sk_difference_hsw
350_sk_difference_hsw LABEL PROC
351  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
352  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
353  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
354  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
355  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
356  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
357  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
358  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
359  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
360  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
361  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
362  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
363  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
364  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
365  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
366  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
367  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
368  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
369  DB  196,98,125,24,5,177,57,0,0          ; vbroadcastss  0x39b1(%rip),%ymm8        # 3e68 <_sk_callback_hsw+0x14b>
370  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
371  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
372  DB  72,173                              ; lods          %ds:(%rsi),%rax
373  DB  255,224                             ; jmpq          *%rax
374
375PUBLIC _sk_exclusion_hsw
376_sk_exclusion_hsw LABEL PROC
377  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
378  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
379  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
380  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
381  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
382  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
383  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
384  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
385  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
386  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
387  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
388  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
389  DB  196,98,125,24,5,111,57,0,0          ; vbroadcastss  0x396f(%rip),%ymm8        # 3e6c <_sk_callback_hsw+0x14f>
390  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
391  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
392  DB  72,173                              ; lods          %ds:(%rsi),%rax
393  DB  255,224                             ; jmpq          *%rax
394
395PUBLIC _sk_colorburn_hsw
396_sk_colorburn_hsw LABEL PROC
397  DB  196,98,125,24,5,93,57,0,0           ; vbroadcastss  0x395d(%rip),%ymm8        # 3e70 <_sk_callback_hsw+0x153>
398  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
399  DB  197,52,89,216                       ; vmulps        %ymm0,%ymm9,%ymm11
400  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
401  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
402  DB  197,60,89,228                       ; vmulps        %ymm4,%ymm8,%ymm12
403  DB  197,68,92,236                       ; vsubps        %ymm4,%ymm7,%ymm13
404  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
405  DB  197,20,94,232                       ; vdivps        %ymm0,%ymm13,%ymm13
406  DB  196,65,68,93,237                    ; vminps        %ymm13,%ymm7,%ymm13
407  DB  196,65,68,92,237                    ; vsubps        %ymm13,%ymm7,%ymm13
408  DB  196,66,101,168,235                  ; vfmadd213ps   %ymm11,%ymm3,%ymm13
409  DB  196,65,28,88,237                    ; vaddps        %ymm13,%ymm12,%ymm13
410  DB  197,28,88,224                       ; vaddps        %ymm0,%ymm12,%ymm12
411  DB  196,193,124,194,194,0               ; vcmpeqps      %ymm10,%ymm0,%ymm0
412  DB  196,195,21,74,196,0                 ; vblendvps     %ymm0,%ymm12,%ymm13,%ymm0
413  DB  197,92,194,231,0                    ; vcmpeqps      %ymm7,%ymm4,%ymm12
414  DB  197,36,88,220                       ; vaddps        %ymm4,%ymm11,%ymm11
415  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
416  DB  197,52,89,217                       ; vmulps        %ymm1,%ymm9,%ymm11
417  DB  197,60,89,229                       ; vmulps        %ymm5,%ymm8,%ymm12
418  DB  197,68,92,237                       ; vsubps        %ymm5,%ymm7,%ymm13
419  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
420  DB  197,20,94,233                       ; vdivps        %ymm1,%ymm13,%ymm13
421  DB  196,65,68,93,237                    ; vminps        %ymm13,%ymm7,%ymm13
422  DB  196,65,68,92,237                    ; vsubps        %ymm13,%ymm7,%ymm13
423  DB  196,66,101,168,235                  ; vfmadd213ps   %ymm11,%ymm3,%ymm13
424  DB  196,65,28,88,237                    ; vaddps        %ymm13,%ymm12,%ymm13
425  DB  197,28,88,225                       ; vaddps        %ymm1,%ymm12,%ymm12
426  DB  196,193,116,194,202,0               ; vcmpeqps      %ymm10,%ymm1,%ymm1
427  DB  196,195,21,74,204,16                ; vblendvps     %ymm1,%ymm12,%ymm13,%ymm1
428  DB  197,84,194,231,0                    ; vcmpeqps      %ymm7,%ymm5,%ymm12
429  DB  197,36,88,221                       ; vaddps        %ymm5,%ymm11,%ymm11
430  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
431  DB  197,52,89,202                       ; vmulps        %ymm2,%ymm9,%ymm9
432  DB  196,65,108,194,210,0                ; vcmpeqps      %ymm10,%ymm2,%ymm10
433  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
434  DB  197,68,92,230                       ; vsubps        %ymm6,%ymm7,%ymm12
435  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
436  DB  197,28,94,226                       ; vdivps        %ymm2,%ymm12,%ymm12
437  DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
438  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
439  DB  196,65,68,92,228                    ; vsubps        %ymm12,%ymm7,%ymm12
440  DB  196,66,101,168,225                  ; vfmadd213ps   %ymm9,%ymm3,%ymm12
441  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
442  DB  196,227,37,74,210,160               ; vblendvps     %ymm10,%ymm2,%ymm11,%ymm2
443  DB  197,76,194,215,0                    ; vcmpeqps      %ymm7,%ymm6,%ymm10
444  DB  197,52,88,206                       ; vaddps        %ymm6,%ymm9,%ymm9
445  DB  196,195,109,74,209,160              ; vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
446  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
447  DB  72,173                              ; lods          %ds:(%rsi),%rax
448  DB  255,224                             ; jmpq          *%rax
449
450PUBLIC _sk_colordodge_hsw
451_sk_colordodge_hsw LABEL PROC
452  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
453  DB  196,98,125,24,13,104,56,0,0         ; vbroadcastss  0x3868(%rip),%ymm9        # 3e74 <_sk_callback_hsw+0x157>
454  DB  197,52,92,215                       ; vsubps        %ymm7,%ymm9,%ymm10
455  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
456  DB  197,52,92,203                       ; vsubps        %ymm3,%ymm9,%ymm9
457  DB  197,100,89,228                      ; vmulps        %ymm4,%ymm3,%ymm12
458  DB  197,100,92,232                      ; vsubps        %ymm0,%ymm3,%ymm13
459  DB  196,65,28,94,229                    ; vdivps        %ymm13,%ymm12,%ymm12
460  DB  197,52,89,236                       ; vmulps        %ymm4,%ymm9,%ymm13
461  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
462  DB  196,66,101,168,227                  ; vfmadd213ps   %ymm11,%ymm3,%ymm12
463  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
464  DB  197,20,88,232                       ; vaddps        %ymm0,%ymm13,%ymm13
465  DB  197,252,194,195,0                   ; vcmpeqps      %ymm3,%ymm0,%ymm0
466  DB  196,195,29,74,197,0                 ; vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
467  DB  196,65,92,194,224,0                 ; vcmpeqps      %ymm8,%ymm4,%ymm12
468  DB  197,36,88,220                       ; vaddps        %ymm4,%ymm11,%ymm11
469  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
470  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
471  DB  197,100,89,229                      ; vmulps        %ymm5,%ymm3,%ymm12
472  DB  197,100,92,233                      ; vsubps        %ymm1,%ymm3,%ymm13
473  DB  196,65,28,94,229                    ; vdivps        %ymm13,%ymm12,%ymm12
474  DB  197,52,89,237                       ; vmulps        %ymm5,%ymm9,%ymm13
475  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
476  DB  196,66,101,168,227                  ; vfmadd213ps   %ymm11,%ymm3,%ymm12
477  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
478  DB  197,20,88,233                       ; vaddps        %ymm1,%ymm13,%ymm13
479  DB  197,244,194,203,0                   ; vcmpeqps      %ymm3,%ymm1,%ymm1
480  DB  196,195,29,74,205,16                ; vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
481  DB  196,65,84,194,224,0                 ; vcmpeqps      %ymm8,%ymm5,%ymm12
482  DB  197,36,88,221                       ; vaddps        %ymm5,%ymm11,%ymm11
483  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
484  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
485  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
486  DB  197,100,92,226                      ; vsubps        %ymm2,%ymm3,%ymm12
487  DB  196,65,36,94,220                    ; vdivps        %ymm12,%ymm11,%ymm11
488  DB  197,52,89,230                       ; vmulps        %ymm6,%ymm9,%ymm12
489  DB  196,65,68,93,219                    ; vminps        %ymm11,%ymm7,%ymm11
490  DB  196,66,101,168,218                  ; vfmadd213ps   %ymm10,%ymm3,%ymm11
491  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
492  DB  197,28,88,226                       ; vaddps        %ymm2,%ymm12,%ymm12
493  DB  197,236,194,211,0                   ; vcmpeqps      %ymm3,%ymm2,%ymm2
494  DB  196,195,37,74,212,32                ; vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
495  DB  196,65,76,194,192,0                 ; vcmpeqps      %ymm8,%ymm6,%ymm8
496  DB  197,44,88,214                       ; vaddps        %ymm6,%ymm10,%ymm10
497  DB  196,195,109,74,210,128              ; vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
498  DB  196,194,69,184,217                  ; vfmadd231ps   %ymm9,%ymm7,%ymm3
499  DB  72,173                              ; lods          %ds:(%rsi),%rax
500  DB  255,224                             ; jmpq          *%rax
501
502PUBLIC _sk_hardlight_hsw
503_sk_hardlight_hsw LABEL PROC
504  DB  196,98,125,24,5,137,55,0,0          ; vbroadcastss  0x3789(%rip),%ymm8        # 3e78 <_sk_callback_hsw+0x15b>
505  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
506  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
507  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
508  DB  196,98,61,184,220                   ; vfmadd231ps   %ymm4,%ymm8,%ymm11
509  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
510  DB  197,52,194,227,2                    ; vcmpleps      %ymm3,%ymm9,%ymm12
511  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
512  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
513  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
514  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
515  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
516  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
517  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
518  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
519  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
520  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
521  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
522  DB  196,98,61,184,221                   ; vfmadd231ps   %ymm5,%ymm8,%ymm11
523  DB  197,116,88,225                      ; vaddps        %ymm1,%ymm1,%ymm12
524  DB  197,28,194,227,2                    ; vcmpleps      %ymm3,%ymm12,%ymm12
525  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
526  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
527  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
528  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
529  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
530  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
531  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
532  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
533  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
534  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
535  DB  196,98,61,184,214                   ; vfmadd231ps   %ymm6,%ymm8,%ymm10
536  DB  197,108,88,218                      ; vaddps        %ymm2,%ymm2,%ymm11
537  DB  197,36,194,219,2                    ; vcmpleps      %ymm3,%ymm11,%ymm11
538  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
539  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
540  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
541  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
542  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
543  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
544  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
545  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
546  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
547  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
548  DB  72,173                              ; lods          %ds:(%rsi),%rax
549  DB  255,224                             ; jmpq          *%rax
550
551PUBLIC _sk_overlay_hsw
552_sk_overlay_hsw LABEL PROC
553  DB  196,98,125,24,5,193,54,0,0          ; vbroadcastss  0x36c1(%rip),%ymm8        # 3e7c <_sk_callback_hsw+0x15f>
554  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
555  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
556  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
557  DB  196,98,61,184,220                   ; vfmadd231ps   %ymm4,%ymm8,%ymm11
558  DB  197,92,88,204                       ; vaddps        %ymm4,%ymm4,%ymm9
559  DB  197,52,194,231,2                    ; vcmpleps      %ymm7,%ymm9,%ymm12
560  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
561  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
562  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
563  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
564  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
565  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
566  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
567  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
568  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
569  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
570  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
571  DB  196,98,61,184,221                   ; vfmadd231ps   %ymm5,%ymm8,%ymm11
572  DB  197,84,88,229                       ; vaddps        %ymm5,%ymm5,%ymm12
573  DB  197,28,194,231,2                    ; vcmpleps      %ymm7,%ymm12,%ymm12
574  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
575  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
576  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
577  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
578  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
579  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
580  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
581  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
582  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
583  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
584  DB  196,98,61,184,214                   ; vfmadd231ps   %ymm6,%ymm8,%ymm10
585  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
586  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
587  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
588  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
589  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
590  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
591  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
592  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
593  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
594  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
595  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
596  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
597  DB  72,173                              ; lods          %ds:(%rsi),%rax
598  DB  255,224                             ; jmpq          *%rax
599
600PUBLIC _sk_softlight_hsw
601_sk_softlight_hsw LABEL PROC
602  DB  72,131,236,88                       ; sub           $0x58,%rsp
603  DB  197,252,17,84,36,32                 ; vmovups       %ymm2,0x20(%rsp)
604  DB  197,252,40,209                      ; vmovaps       %ymm1,%ymm2
605  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
606  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
607  DB  197,52,194,215,1                    ; vcmpltps      %ymm7,%ymm9,%ymm10
608  DB  197,92,94,199                       ; vdivps        %ymm7,%ymm4,%ymm8
609  DB  196,67,53,74,232,160                ; vblendvps     %ymm10,%ymm8,%ymm9,%ymm13
610  DB  196,65,20,88,197                    ; vaddps        %ymm13,%ymm13,%ymm8
611  DB  196,65,60,88,192                    ; vaddps        %ymm8,%ymm8,%ymm8
612  DB  196,66,61,168,192                   ; vfmadd213ps   %ymm8,%ymm8,%ymm8
613  DB  196,98,125,24,29,200,53,0,0         ; vbroadcastss  0x35c8(%rip),%ymm11        # 3e84 <_sk_callback_hsw+0x167>
614  DB  196,65,20,88,227                    ; vaddps        %ymm11,%ymm13,%ymm12
615  DB  196,65,28,89,192                    ; vmulps        %ymm8,%ymm12,%ymm8
616  DB  196,98,125,24,37,185,53,0,0         ; vbroadcastss  0x35b9(%rip),%ymm12        # 3e88 <_sk_callback_hsw+0x16b>
617  DB  196,66,21,184,196                   ; vfmadd231ps   %ymm12,%ymm13,%ymm8
618  DB  196,65,124,82,245                   ; vrsqrtps      %ymm13,%ymm14
619  DB  196,65,124,83,246                   ; vrcpps        %ymm14,%ymm14
620  DB  196,65,12,92,245                    ; vsubps        %ymm13,%ymm14,%ymm14
621  DB  197,92,88,252                       ; vaddps        %ymm4,%ymm4,%ymm15
622  DB  196,65,4,88,255                     ; vaddps        %ymm15,%ymm15,%ymm15
623  DB  197,4,194,255,2                     ; vcmpleps      %ymm7,%ymm15,%ymm15
624  DB  196,67,13,74,240,240                ; vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
625  DB  197,116,88,249                      ; vaddps        %ymm1,%ymm1,%ymm15
626  DB  196,98,125,24,5,124,53,0,0          ; vbroadcastss  0x357c(%rip),%ymm8        # 3e80 <_sk_callback_hsw+0x163>
627  DB  196,65,60,92,237                    ; vsubps        %ymm13,%ymm8,%ymm13
628  DB  197,132,92,195                      ; vsubps        %ymm3,%ymm15,%ymm0
629  DB  196,98,125,168,235                  ; vfmadd213ps   %ymm3,%ymm0,%ymm13
630  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
631  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
632  DB  197,20,89,236                       ; vmulps        %ymm4,%ymm13,%ymm13
633  DB  196,226,101,184,196                 ; vfmadd231ps   %ymm4,%ymm3,%ymm0
634  DB  197,4,194,243,2                     ; vcmpleps      %ymm3,%ymm15,%ymm14
635  DB  196,195,125,74,197,224              ; vblendvps     %ymm14,%ymm13,%ymm0,%ymm0
636  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
637  DB  197,212,94,199                      ; vdivps        %ymm7,%ymm5,%ymm0
638  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
639  DB  197,124,88,240                      ; vaddps        %ymm0,%ymm0,%ymm14
640  DB  196,65,12,88,246                    ; vaddps        %ymm14,%ymm14,%ymm14
641  DB  196,66,13,168,246                   ; vfmadd213ps   %ymm14,%ymm14,%ymm14
642  DB  196,65,124,88,251                   ; vaddps        %ymm11,%ymm0,%ymm15
643  DB  196,65,4,89,246                     ; vmulps        %ymm14,%ymm15,%ymm14
644  DB  196,66,125,184,244                  ; vfmadd231ps   %ymm12,%ymm0,%ymm14
645  DB  197,124,82,248                      ; vrsqrtps      %ymm0,%ymm15
646  DB  196,65,124,83,255                   ; vrcpps        %ymm15,%ymm15
647  DB  197,4,92,248                        ; vsubps        %ymm0,%ymm15,%ymm15
648  DB  197,84,88,237                       ; vaddps        %ymm5,%ymm5,%ymm13
649  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
650  DB  197,20,194,239,2                    ; vcmpleps      %ymm7,%ymm13,%ymm13
651  DB  196,67,5,74,238,208                 ; vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
652  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
653  DB  197,108,88,242                      ; vaddps        %ymm2,%ymm2,%ymm14
654  DB  197,12,92,251                       ; vsubps        %ymm3,%ymm14,%ymm15
655  DB  196,226,5,168,195                   ; vfmadd213ps   %ymm3,%ymm15,%ymm0
656  DB  197,4,89,255                        ; vmulps        %ymm7,%ymm15,%ymm15
657  DB  196,65,4,89,237                     ; vmulps        %ymm13,%ymm15,%ymm13
658  DB  197,252,89,197                      ; vmulps        %ymm5,%ymm0,%ymm0
659  DB  196,98,101,184,237                  ; vfmadd231ps   %ymm5,%ymm3,%ymm13
660  DB  197,12,194,243,2                    ; vcmpleps      %ymm3,%ymm14,%ymm14
661  DB  196,99,21,74,240,224                ; vblendvps     %ymm14,%ymm0,%ymm13,%ymm14
662  DB  197,204,94,199                      ; vdivps        %ymm7,%ymm6,%ymm0
663  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
664  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
665  DB  196,65,52,88,201                    ; vaddps        %ymm9,%ymm9,%ymm9
666  DB  196,66,53,168,201                   ; vfmadd213ps   %ymm9,%ymm9,%ymm9
667  DB  196,65,124,88,211                   ; vaddps        %ymm11,%ymm0,%ymm10
668  DB  196,65,44,89,201                    ; vmulps        %ymm9,%ymm10,%ymm9
669  DB  196,66,125,184,204                  ; vfmadd231ps   %ymm12,%ymm0,%ymm9
670  DB  197,124,82,208                      ; vrsqrtps      %ymm0,%ymm10
671  DB  196,65,124,83,210                   ; vrcpps        %ymm10,%ymm10
672  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
673  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
674  DB  196,65,36,88,219                    ; vaddps        %ymm11,%ymm11,%ymm11
675  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
676  DB  196,67,45,74,201,176                ; vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
677  DB  197,124,16,100,36,32                ; vmovups       0x20(%rsp),%ymm12
678  DB  196,65,28,88,212                    ; vaddps        %ymm12,%ymm12,%ymm10
679  DB  197,44,92,219                       ; vsubps        %ymm3,%ymm10,%ymm11
680  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
681  DB  196,226,37,168,195                  ; vfmadd213ps   %ymm3,%ymm11,%ymm0
682  DB  197,36,89,223                       ; vmulps        %ymm7,%ymm11,%ymm11
683  DB  196,65,36,89,201                    ; vmulps        %ymm9,%ymm11,%ymm9
684  DB  197,252,89,198                      ; vmulps        %ymm6,%ymm0,%ymm0
685  DB  196,98,101,184,206                  ; vfmadd231ps   %ymm6,%ymm3,%ymm9
686  DB  197,44,194,211,2                    ; vcmpleps      %ymm3,%ymm10,%ymm10
687  DB  196,99,53,74,200,160                ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
688  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
689  DB  197,172,89,193                      ; vmulps        %ymm1,%ymm10,%ymm0
690  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
691  DB  196,226,61,184,196                  ; vfmadd231ps   %ymm4,%ymm8,%ymm0
692  DB  197,252,88,4,36                     ; vaddps        (%rsp),%ymm0,%ymm0
693  DB  197,172,89,202                      ; vmulps        %ymm2,%ymm10,%ymm1
694  DB  196,226,61,184,205                  ; vfmadd231ps   %ymm5,%ymm8,%ymm1
695  DB  196,193,116,88,206                  ; vaddps        %ymm14,%ymm1,%ymm1
696  DB  196,193,44,89,212                   ; vmulps        %ymm12,%ymm10,%ymm2
697  DB  196,226,61,184,214                  ; vfmadd231ps   %ymm6,%ymm8,%ymm2
698  DB  196,193,108,88,209                  ; vaddps        %ymm9,%ymm2,%ymm2
699  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
700  DB  72,173                              ; lods          %ds:(%rsi),%rax
701  DB  72,131,196,88                       ; add           $0x58,%rsp
702  DB  255,224                             ; jmpq          *%rax
703
704PUBLIC _sk_clamp_0_hsw
705_sk_clamp_0_hsw LABEL PROC
706  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
707  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
708  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
709  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
710  DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
711  DB  72,173                              ; lods          %ds:(%rsi),%rax
712  DB  255,224                             ; jmpq          *%rax
713
714PUBLIC _sk_clamp_1_hsw
715_sk_clamp_1_hsw LABEL PROC
716  DB  196,98,125,24,5,255,51,0,0          ; vbroadcastss  0x33ff(%rip),%ymm8        # 3e8c <_sk_callback_hsw+0x16f>
717  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
718  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
719  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
720  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
721  DB  72,173                              ; lods          %ds:(%rsi),%rax
722  DB  255,224                             ; jmpq          *%rax
723
724PUBLIC _sk_clamp_a_hsw
725_sk_clamp_a_hsw LABEL PROC
726  DB  196,98,125,24,5,226,51,0,0          ; vbroadcastss  0x33e2(%rip),%ymm8        # 3e90 <_sk_callback_hsw+0x173>
727  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
728  DB  197,252,93,195                      ; vminps        %ymm3,%ymm0,%ymm0
729  DB  197,244,93,203                      ; vminps        %ymm3,%ymm1,%ymm1
730  DB  197,236,93,211                      ; vminps        %ymm3,%ymm2,%ymm2
731  DB  72,173                              ; lods          %ds:(%rsi),%rax
732  DB  255,224                             ; jmpq          *%rax
733
734PUBLIC _sk_set_rgb_hsw
735_sk_set_rgb_hsw LABEL PROC
736  DB  72,173                              ; lods          %ds:(%rsi),%rax
737  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
738  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
739  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
740  DB  72,173                              ; lods          %ds:(%rsi),%rax
741  DB  255,224                             ; jmpq          *%rax
742
743PUBLIC _sk_swap_rb_hsw
744_sk_swap_rb_hsw LABEL PROC
745  DB  197,124,40,192                      ; vmovaps       %ymm0,%ymm8
746  DB  72,173                              ; lods          %ds:(%rsi),%rax
747  DB  197,252,40,194                      ; vmovaps       %ymm2,%ymm0
748  DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
749  DB  255,224                             ; jmpq          *%rax
750
751PUBLIC _sk_swap_hsw
752_sk_swap_hsw LABEL PROC
753  DB  197,124,40,195                      ; vmovaps       %ymm3,%ymm8
754  DB  197,124,40,202                      ; vmovaps       %ymm2,%ymm9
755  DB  197,124,40,209                      ; vmovaps       %ymm1,%ymm10
756  DB  197,124,40,216                      ; vmovaps       %ymm0,%ymm11
757  DB  72,173                              ; lods          %ds:(%rsi),%rax
758  DB  197,252,40,196                      ; vmovaps       %ymm4,%ymm0
759  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
760  DB  197,252,40,214                      ; vmovaps       %ymm6,%ymm2
761  DB  197,252,40,223                      ; vmovaps       %ymm7,%ymm3
762  DB  197,124,41,220                      ; vmovaps       %ymm11,%ymm4
763  DB  197,124,41,213                      ; vmovaps       %ymm10,%ymm5
764  DB  197,124,41,206                      ; vmovaps       %ymm9,%ymm6
765  DB  197,124,41,199                      ; vmovaps       %ymm8,%ymm7
766  DB  255,224                             ; jmpq          *%rax
767
768PUBLIC _sk_move_src_dst_hsw
769_sk_move_src_dst_hsw LABEL PROC
770  DB  72,173                              ; lods          %ds:(%rsi),%rax
771  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
772  DB  197,252,40,233                      ; vmovaps       %ymm1,%ymm5
773  DB  197,252,40,242                      ; vmovaps       %ymm2,%ymm6
774  DB  197,252,40,251                      ; vmovaps       %ymm3,%ymm7
775  DB  255,224                             ; jmpq          *%rax
776
777PUBLIC _sk_move_dst_src_hsw
778_sk_move_dst_src_hsw LABEL PROC
779  DB  72,173                              ; lods          %ds:(%rsi),%rax
780  DB  197,252,40,196                      ; vmovaps       %ymm4,%ymm0
781  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
782  DB  197,252,40,214                      ; vmovaps       %ymm6,%ymm2
783  DB  197,252,40,223                      ; vmovaps       %ymm7,%ymm3
784  DB  255,224                             ; jmpq          *%rax
785
786PUBLIC _sk_premul_hsw
787_sk_premul_hsw LABEL PROC
788  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
789  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
790  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
791  DB  72,173                              ; lods          %ds:(%rsi),%rax
792  DB  255,224                             ; jmpq          *%rax
793
794PUBLIC _sk_unpremul_hsw
795_sk_unpremul_hsw LABEL PROC
796  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
797  DB  196,65,100,194,200,0                ; vcmpeqps      %ymm8,%ymm3,%ymm9
798  DB  196,98,125,24,21,42,51,0,0          ; vbroadcastss  0x332a(%rip),%ymm10        # 3e94 <_sk_callback_hsw+0x177>
799  DB  197,44,94,211                       ; vdivps        %ymm3,%ymm10,%ymm10
800  DB  196,67,45,74,192,144                ; vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
801  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
802  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
803  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
804  DB  72,173                              ; lods          %ds:(%rsi),%rax
805  DB  255,224                             ; jmpq          *%rax
806
807PUBLIC _sk_from_srgb_hsw
808_sk_from_srgb_hsw LABEL PROC
809  DB  196,98,125,24,5,11,51,0,0           ; vbroadcastss  0x330b(%rip),%ymm8        # 3e98 <_sk_callback_hsw+0x17b>
810  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
811  DB  197,124,89,208                      ; vmulps        %ymm0,%ymm0,%ymm10
812  DB  196,98,125,24,29,253,50,0,0         ; vbroadcastss  0x32fd(%rip),%ymm11        # 3e9c <_sk_callback_hsw+0x17f>
813  DB  196,98,125,24,37,248,50,0,0         ; vbroadcastss  0x32f8(%rip),%ymm12        # 3ea0 <_sk_callback_hsw+0x183>
814  DB  196,65,124,40,236                   ; vmovaps       %ymm12,%ymm13
815  DB  196,66,125,168,235                  ; vfmadd213ps   %ymm11,%ymm0,%ymm13
816  DB  196,98,125,24,53,233,50,0,0         ; vbroadcastss  0x32e9(%rip),%ymm14        # 3ea4 <_sk_callback_hsw+0x187>
817  DB  196,66,45,168,238                   ; vfmadd213ps   %ymm14,%ymm10,%ymm13
818  DB  196,98,125,24,21,223,50,0,0         ; vbroadcastss  0x32df(%rip),%ymm10        # 3ea8 <_sk_callback_hsw+0x18b>
819  DB  196,193,124,194,194,1               ; vcmpltps      %ymm10,%ymm0,%ymm0
820  DB  196,195,21,74,193,0                 ; vblendvps     %ymm0,%ymm9,%ymm13,%ymm0
821  DB  196,65,116,89,200                   ; vmulps        %ymm8,%ymm1,%ymm9
822  DB  197,116,89,233                      ; vmulps        %ymm1,%ymm1,%ymm13
823  DB  196,65,124,40,252                   ; vmovaps       %ymm12,%ymm15
824  DB  196,66,117,168,251                  ; vfmadd213ps   %ymm11,%ymm1,%ymm15
825  DB  196,66,21,168,254                   ; vfmadd213ps   %ymm14,%ymm13,%ymm15
826  DB  196,193,116,194,202,1               ; vcmpltps      %ymm10,%ymm1,%ymm1
827  DB  196,195,5,74,201,16                 ; vblendvps     %ymm1,%ymm9,%ymm15,%ymm1
828  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
829  DB  197,108,89,202                      ; vmulps        %ymm2,%ymm2,%ymm9
830  DB  196,66,109,168,227                  ; vfmadd213ps   %ymm11,%ymm2,%ymm12
831  DB  196,66,53,168,230                   ; vfmadd213ps   %ymm14,%ymm9,%ymm12
832  DB  196,193,108,194,210,1               ; vcmpltps      %ymm10,%ymm2,%ymm2
833  DB  196,195,29,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm12,%ymm2
834  DB  72,173                              ; lods          %ds:(%rsi),%rax
835  DB  255,224                             ; jmpq          *%rax
836
837PUBLIC _sk_to_srgb_hsw
838_sk_to_srgb_hsw LABEL PROC
839  DB  197,124,82,192                      ; vrsqrtps      %ymm0,%ymm8
840  DB  196,65,124,83,200                   ; vrcpps        %ymm8,%ymm9
841  DB  196,65,124,82,208                   ; vrsqrtps      %ymm8,%ymm10
842  DB  196,98,125,24,5,121,50,0,0          ; vbroadcastss  0x3279(%rip),%ymm8        # 3eac <_sk_callback_hsw+0x18f>
843  DB  196,65,124,89,216                   ; vmulps        %ymm8,%ymm0,%ymm11
844  DB  196,98,125,24,37,111,50,0,0         ; vbroadcastss  0x326f(%rip),%ymm12        # 3eb0 <_sk_callback_hsw+0x193>
845  DB  196,98,125,24,45,106,50,0,0         ; vbroadcastss  0x326a(%rip),%ymm13        # 3eb4 <_sk_callback_hsw+0x197>
846  DB  196,66,21,168,204                   ; vfmadd213ps   %ymm12,%ymm13,%ymm9
847  DB  196,98,125,24,53,96,50,0,0          ; vbroadcastss  0x3260(%rip),%ymm14        # 3eb8 <_sk_callback_hsw+0x19b>
848  DB  196,66,13,184,202                   ; vfmadd231ps   %ymm10,%ymm14,%ymm9
849  DB  196,98,125,24,21,86,50,0,0          ; vbroadcastss  0x3256(%rip),%ymm10        # 3ebc <_sk_callback_hsw+0x19f>
850  DB  196,65,44,93,201                    ; vminps        %ymm9,%ymm10,%ymm9
851  DB  196,98,125,24,61,76,50,0,0          ; vbroadcastss  0x324c(%rip),%ymm15        # 3ec0 <_sk_callback_hsw+0x1a3>
852  DB  196,193,124,194,199,1               ; vcmpltps      %ymm15,%ymm0,%ymm0
853  DB  196,195,53,74,195,0                 ; vblendvps     %ymm0,%ymm11,%ymm9,%ymm0
854  DB  197,124,82,201                      ; vrsqrtps      %ymm1,%ymm9
855  DB  196,65,124,83,217                   ; vrcpps        %ymm9,%ymm11
856  DB  196,65,124,82,201                   ; vrsqrtps      %ymm9,%ymm9
857  DB  196,66,21,168,220                   ; vfmadd213ps   %ymm12,%ymm13,%ymm11
858  DB  196,66,13,184,217                   ; vfmadd231ps   %ymm9,%ymm14,%ymm11
859  DB  196,65,116,89,200                   ; vmulps        %ymm8,%ymm1,%ymm9
860  DB  196,65,44,93,219                    ; vminps        %ymm11,%ymm10,%ymm11
861  DB  196,193,116,194,207,1               ; vcmpltps      %ymm15,%ymm1,%ymm1
862  DB  196,195,37,74,201,16                ; vblendvps     %ymm1,%ymm9,%ymm11,%ymm1
863  DB  197,124,82,202                      ; vrsqrtps      %ymm2,%ymm9
864  DB  196,65,124,83,217                   ; vrcpps        %ymm9,%ymm11
865  DB  196,66,21,168,220                   ; vfmadd213ps   %ymm12,%ymm13,%ymm11
866  DB  196,65,124,82,201                   ; vrsqrtps      %ymm9,%ymm9
867  DB  196,66,13,184,217                   ; vfmadd231ps   %ymm9,%ymm14,%ymm11
868  DB  196,65,44,93,203                    ; vminps        %ymm11,%ymm10,%ymm9
869  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
870  DB  196,193,108,194,215,1               ; vcmpltps      %ymm15,%ymm2,%ymm2
871  DB  196,195,53,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
872  DB  72,173                              ; lods          %ds:(%rsi),%rax
873  DB  255,224                             ; jmpq          *%rax
874
875PUBLIC _sk_rgb_to_hsl_hsw
876_sk_rgb_to_hsl_hsw LABEL PROC
877  DB  197,124,95,193                      ; vmaxps        %ymm1,%ymm0,%ymm8
878  DB  197,60,95,194                       ; vmaxps        %ymm2,%ymm8,%ymm8
879  DB  197,124,93,201                      ; vminps        %ymm1,%ymm0,%ymm9
880  DB  197,52,93,202                       ; vminps        %ymm2,%ymm9,%ymm9
881  DB  196,65,60,92,209                    ; vsubps        %ymm9,%ymm8,%ymm10
882  DB  196,98,125,24,29,198,49,0,0         ; vbroadcastss  0x31c6(%rip),%ymm11        # 3ec4 <_sk_callback_hsw+0x1a7>
883  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
884  DB  197,116,92,226                      ; vsubps        %ymm2,%ymm1,%ymm12
885  DB  197,116,194,234,1                   ; vcmpltps      %ymm2,%ymm1,%ymm13
886  DB  196,98,125,24,53,179,49,0,0         ; vbroadcastss  0x31b3(%rip),%ymm14        # 3ec8 <_sk_callback_hsw+0x1ab>
887  DB  196,65,4,87,255                     ; vxorps        %ymm15,%ymm15,%ymm15
888  DB  196,67,5,74,238,208                 ; vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
889  DB  196,66,37,168,229                   ; vfmadd213ps   %ymm13,%ymm11,%ymm12
890  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
891  DB  197,124,92,233                      ; vsubps        %ymm1,%ymm0,%ymm13
892  DB  196,98,125,24,53,154,49,0,0         ; vbroadcastss  0x319a(%rip),%ymm14        # 3ed0 <_sk_callback_hsw+0x1b3>
893  DB  196,66,37,168,238                   ; vfmadd213ps   %ymm14,%ymm11,%ymm13
894  DB  196,98,125,24,53,136,49,0,0         ; vbroadcastss  0x3188(%rip),%ymm14        # 3ecc <_sk_callback_hsw+0x1af>
895  DB  196,194,37,168,214                  ; vfmadd213ps   %ymm14,%ymm11,%ymm2
896  DB  197,188,194,201,0                   ; vcmpeqps      %ymm1,%ymm8,%ymm1
897  DB  196,227,21,74,202,16                ; vblendvps     %ymm1,%ymm2,%ymm13,%ymm1
898  DB  197,188,194,192,0                   ; vcmpeqps      %ymm0,%ymm8,%ymm0
899  DB  196,195,117,74,196,0                ; vblendvps     %ymm0,%ymm12,%ymm1,%ymm0
900  DB  196,193,60,88,201                   ; vaddps        %ymm9,%ymm8,%ymm1
901  DB  196,98,125,24,29,107,49,0,0         ; vbroadcastss  0x316b(%rip),%ymm11        # 3ed8 <_sk_callback_hsw+0x1bb>
902  DB  196,193,116,89,211                  ; vmulps        %ymm11,%ymm1,%ymm2
903  DB  197,36,194,218,1                    ; vcmpltps      %ymm2,%ymm11,%ymm11
904  DB  196,65,12,92,224                    ; vsubps        %ymm8,%ymm14,%ymm12
905  DB  196,65,28,92,225                    ; vsubps        %ymm9,%ymm12,%ymm12
906  DB  196,195,117,74,204,176              ; vblendvps     %ymm11,%ymm12,%ymm1,%ymm1
907  DB  196,65,60,194,193,0                 ; vcmpeqps      %ymm9,%ymm8,%ymm8
908  DB  197,172,94,201                      ; vdivps        %ymm1,%ymm10,%ymm1
909  DB  196,195,125,74,199,128              ; vblendvps     %ymm8,%ymm15,%ymm0,%ymm0
910  DB  196,195,117,74,207,128              ; vblendvps     %ymm8,%ymm15,%ymm1,%ymm1
911  DB  196,98,125,24,5,46,49,0,0           ; vbroadcastss  0x312e(%rip),%ymm8        # 3ed4 <_sk_callback_hsw+0x1b7>
912  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
913  DB  72,173                              ; lods          %ds:(%rsi),%rax
914  DB  255,224                             ; jmpq          *%rax
915
916PUBLIC _sk_hsl_to_rgb_hsw
917_sk_hsl_to_rgb_hsw LABEL PROC
918  DB  72,129,236,184,0,0,0                ; sub           $0xb8,%rsp
919  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
920  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
921  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
922  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
923  DB  197,252,17,28,36                    ; vmovups       %ymm3,(%rsp)
924  DB  197,252,40,233                      ; vmovaps       %ymm1,%ymm5
925  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
926  DB  196,98,125,24,5,245,48,0,0          ; vbroadcastss  0x30f5(%rip),%ymm8        # 3edc <_sk_callback_hsw+0x1bf>
927  DB  197,60,194,202,2                    ; vcmpleps      %ymm2,%ymm8,%ymm9
928  DB  197,84,89,210                       ; vmulps        %ymm2,%ymm5,%ymm10
929  DB  196,65,84,92,218                    ; vsubps        %ymm10,%ymm5,%ymm11
930  DB  196,67,45,74,203,144                ; vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
931  DB  197,52,88,210                       ; vaddps        %ymm2,%ymm9,%ymm10
932  DB  196,98,125,24,13,216,48,0,0         ; vbroadcastss  0x30d8(%rip),%ymm9        # 3ee0 <_sk_callback_hsw+0x1c3>
933  DB  196,66,109,170,202                  ; vfmsub213ps   %ymm10,%ymm2,%ymm9
934  DB  196,98,125,24,29,206,48,0,0         ; vbroadcastss  0x30ce(%rip),%ymm11        # 3ee4 <_sk_callback_hsw+0x1c7>
935  DB  196,65,92,88,219                    ; vaddps        %ymm11,%ymm4,%ymm11
936  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
937  DB  196,65,36,92,252                    ; vsubps        %ymm12,%ymm11,%ymm15
938  DB  196,65,44,92,217                    ; vsubps        %ymm9,%ymm10,%ymm11
939  DB  196,98,125,24,45,184,48,0,0         ; vbroadcastss  0x30b8(%rip),%ymm13        # 3eec <_sk_callback_hsw+0x1cf>
940  DB  196,193,4,89,197                    ; vmulps        %ymm13,%ymm15,%ymm0
941  DB  196,98,125,24,53,174,48,0,0         ; vbroadcastss  0x30ae(%rip),%ymm14        # 3ef0 <_sk_callback_hsw+0x1d3>
942  DB  197,12,92,224                       ; vsubps        %ymm0,%ymm14,%ymm12
943  DB  196,66,37,168,225                   ; vfmadd213ps   %ymm9,%ymm11,%ymm12
944  DB  196,226,125,24,29,148,48,0,0        ; vbroadcastss  0x3094(%rip),%ymm3        # 3ee8 <_sk_callback_hsw+0x1cb>
945  DB  196,193,100,194,255,2               ; vcmpleps      %ymm15,%ymm3,%ymm7
946  DB  196,195,29,74,249,112               ; vblendvps     %ymm7,%ymm9,%ymm12,%ymm7
947  DB  196,65,60,194,231,2                 ; vcmpleps      %ymm15,%ymm8,%ymm12
948  DB  196,227,45,74,255,192               ; vblendvps     %ymm12,%ymm7,%ymm10,%ymm7
949  DB  196,98,125,24,37,127,48,0,0         ; vbroadcastss  0x307f(%rip),%ymm12        # 3ef4 <_sk_callback_hsw+0x1d7>
950  DB  196,65,28,194,255,2                 ; vcmpleps      %ymm15,%ymm12,%ymm15
951  DB  196,194,37,168,193                  ; vfmadd213ps   %ymm9,%ymm11,%ymm0
952  DB  196,99,125,74,255,240               ; vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
953  DB  196,227,125,8,196,1                 ; vroundps      $0x1,%ymm4,%ymm0
954  DB  197,220,92,192                      ; vsubps        %ymm0,%ymm4,%ymm0
955  DB  196,193,124,89,253                  ; vmulps        %ymm13,%ymm0,%ymm7
956  DB  197,140,92,207                      ; vsubps        %ymm7,%ymm14,%ymm1
957  DB  196,194,37,168,201                  ; vfmadd213ps   %ymm9,%ymm11,%ymm1
958  DB  197,228,194,240,2                   ; vcmpleps      %ymm0,%ymm3,%ymm6
959  DB  196,195,117,74,201,96               ; vblendvps     %ymm6,%ymm9,%ymm1,%ymm1
960  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
961  DB  196,227,45,74,201,96                ; vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
962  DB  197,156,194,192,2                   ; vcmpleps      %ymm0,%ymm12,%ymm0
963  DB  196,194,37,168,249                  ; vfmadd213ps   %ymm9,%ymm11,%ymm7
964  DB  196,227,69,74,201,0                 ; vblendvps     %ymm0,%ymm1,%ymm7,%ymm1
965  DB  196,226,125,24,5,43,48,0,0          ; vbroadcastss  0x302b(%rip),%ymm0        # 3ef8 <_sk_callback_hsw+0x1db>
966  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
967  DB  196,227,125,8,224,1                 ; vroundps      $0x1,%ymm0,%ymm4
968  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
969  DB  197,228,194,216,2                   ; vcmpleps      %ymm0,%ymm3,%ymm3
970  DB  196,193,124,89,229                  ; vmulps        %ymm13,%ymm0,%ymm4
971  DB  197,140,92,244                      ; vsubps        %ymm4,%ymm14,%ymm6
972  DB  196,194,37,168,241                  ; vfmadd213ps   %ymm9,%ymm11,%ymm6
973  DB  196,195,77,74,217,48                ; vblendvps     %ymm3,%ymm9,%ymm6,%ymm3
974  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
975  DB  196,227,45,74,219,96                ; vblendvps     %ymm6,%ymm3,%ymm10,%ymm3
976  DB  196,98,37,184,204                   ; vfmadd231ps   %ymm4,%ymm11,%ymm9
977  DB  197,156,194,192,2                   ; vcmpleps      %ymm0,%ymm12,%ymm0
978  DB  196,227,53,74,219,0                 ; vblendvps     %ymm0,%ymm3,%ymm9,%ymm3
979  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
980  DB  197,212,194,224,0                   ; vcmpeqps      %ymm0,%ymm5,%ymm4
981  DB  196,227,5,74,194,64                 ; vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
982  DB  196,227,117,74,202,64               ; vblendvps     %ymm4,%ymm2,%ymm1,%ymm1
983  DB  196,227,101,74,210,64               ; vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
984  DB  72,173                              ; lods          %ds:(%rsi),%rax
985  DB  197,252,16,28,36                    ; vmovups       (%rsp),%ymm3
986  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
987  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
988  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
989  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
990  DB  72,129,196,184,0,0,0                ; add           $0xb8,%rsp
991  DB  255,224                             ; jmpq          *%rax
992
993PUBLIC _sk_scale_1_float_hsw
994_sk_scale_1_float_hsw LABEL PROC
995  DB  72,173                              ; lods          %ds:(%rsi),%rax
996  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
997  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
998  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
999  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
1000  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
1001  DB  72,173                              ; lods          %ds:(%rsi),%rax
1002  DB  255,224                             ; jmpq          *%rax
1003
1004PUBLIC _sk_scale_u8_hsw
1005_sk_scale_u8_hsw LABEL PROC
1006  DB  73,137,200                          ; mov           %rcx,%r8
1007  DB  72,173                              ; lods          %ds:(%rsi),%rax
1008  DB  72,139,0                            ; mov           (%rax),%rax
1009  DB  72,1,248                            ; add           %rdi,%rax
1010  DB  77,133,192                          ; test          %r8,%r8
1011  DB  117,51                              ; jne           fb3 <_sk_scale_u8_hsw+0x43>
1012  DB  197,122,126,0                       ; vmovq         (%rax),%xmm8
1013  DB  196,66,125,49,192                   ; vpmovzxbd     %xmm8,%ymm8
1014  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1015  DB  196,98,125,24,13,101,47,0,0         ; vbroadcastss  0x2f65(%rip),%ymm9        # 3efc <_sk_callback_hsw+0x1df>
1016  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
1017  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
1018  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
1019  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
1020  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
1021  DB  72,173                              ; lods          %ds:(%rsi),%rax
1022  DB  76,137,193                          ; mov           %r8,%rcx
1023  DB  255,224                             ; jmpq          *%rax
1024  DB  49,201                              ; xor           %ecx,%ecx
1025  DB  77,137,194                          ; mov           %r8,%r10
1026  DB  69,49,201                           ; xor           %r9d,%r9d
1027  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
1028  DB  72,255,192                          ; inc           %rax
1029  DB  73,211,227                          ; shl           %cl,%r11
1030  DB  77,9,217                            ; or            %r11,%r9
1031  DB  72,131,193,8                        ; add           $0x8,%rcx
1032  DB  73,255,202                          ; dec           %r10
1033  DB  117,234                             ; jne           fbb <_sk_scale_u8_hsw+0x4b>
1034  DB  196,65,249,110,193                  ; vmovq         %r9,%xmm8
1035  DB  235,172                             ; jmp           f84 <_sk_scale_u8_hsw+0x14>
1036
1037PUBLIC _sk_lerp_1_float_hsw
1038_sk_lerp_1_float_hsw LABEL PROC
1039  DB  72,173                              ; lods          %ds:(%rsi),%rax
1040  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
1041  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
1042  DB  196,226,61,168,196                  ; vfmadd213ps   %ymm4,%ymm8,%ymm0
1043  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
1044  DB  196,226,61,168,205                  ; vfmadd213ps   %ymm5,%ymm8,%ymm1
1045  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
1046  DB  196,226,61,168,214                  ; vfmadd213ps   %ymm6,%ymm8,%ymm2
1047  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
1048  DB  196,226,61,168,223                  ; vfmadd213ps   %ymm7,%ymm8,%ymm3
1049  DB  72,173                              ; lods          %ds:(%rsi),%rax
1050  DB  255,224                             ; jmpq          *%rax
1051
1052PUBLIC _sk_lerp_u8_hsw
1053_sk_lerp_u8_hsw LABEL PROC
1054  DB  73,137,200                          ; mov           %rcx,%r8
1055  DB  72,173                              ; lods          %ds:(%rsi),%rax
1056  DB  72,139,0                            ; mov           (%rax),%rax
1057  DB  72,1,248                            ; add           %rdi,%rax
1058  DB  77,133,192                          ; test          %r8,%r8
1059  DB  117,71                              ; jne           105e <_sk_lerp_u8_hsw+0x57>
1060  DB  197,122,126,0                       ; vmovq         (%rax),%xmm8
1061  DB  196,66,125,49,192                   ; vpmovzxbd     %xmm8,%ymm8
1062  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1063  DB  196,98,125,24,13,210,46,0,0         ; vbroadcastss  0x2ed2(%rip),%ymm9        # 3f00 <_sk_callback_hsw+0x1e3>
1064  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
1065  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
1066  DB  196,226,61,168,196                  ; vfmadd213ps   %ymm4,%ymm8,%ymm0
1067  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
1068  DB  196,226,61,168,205                  ; vfmadd213ps   %ymm5,%ymm8,%ymm1
1069  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
1070  DB  196,226,61,168,214                  ; vfmadd213ps   %ymm6,%ymm8,%ymm2
1071  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
1072  DB  196,226,61,168,223                  ; vfmadd213ps   %ymm7,%ymm8,%ymm3
1073  DB  72,173                              ; lods          %ds:(%rsi),%rax
1074  DB  76,137,193                          ; mov           %r8,%rcx
1075  DB  255,224                             ; jmpq          *%rax
1076  DB  49,201                              ; xor           %ecx,%ecx
1077  DB  77,137,194                          ; mov           %r8,%r10
1078  DB  69,49,201                           ; xor           %r9d,%r9d
1079  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
1080  DB  72,255,192                          ; inc           %rax
1081  DB  73,211,227                          ; shl           %cl,%r11
1082  DB  77,9,217                            ; or            %r11,%r9
1083  DB  72,131,193,8                        ; add           $0x8,%rcx
1084  DB  73,255,202                          ; dec           %r10
1085  DB  117,234                             ; jne           1066 <_sk_lerp_u8_hsw+0x5f>
1086  DB  196,65,249,110,193                  ; vmovq         %r9,%xmm8
1087  DB  235,152                             ; jmp           101b <_sk_lerp_u8_hsw+0x14>
1088
1089PUBLIC _sk_lerp_565_hsw
1090_sk_lerp_565_hsw LABEL PROC
1091  DB  72,173                              ; lods          %ds:(%rsi),%rax
1092  DB  76,139,16                           ; mov           (%rax),%r10
1093  DB  72,133,201                          ; test          %rcx,%rcx
1094  DB  15,133,149,0,0,0                    ; jne           1126 <_sk_lerp_565_hsw+0xa3>
1095  DB  196,193,122,111,28,122              ; vmovdqu       (%r10,%rdi,2),%xmm3
1096  DB  196,226,125,51,219                  ; vpmovzxwd     %xmm3,%ymm3
1097  DB  196,98,125,88,5,95,46,0,0           ; vpbroadcastd  0x2e5f(%rip),%ymm8        # 3f04 <_sk_callback_hsw+0x1e7>
1098  DB  196,65,101,219,192                  ; vpand         %ymm8,%ymm3,%ymm8
1099  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1100  DB  196,98,125,24,13,80,46,0,0          ; vbroadcastss  0x2e50(%rip),%ymm9        # 3f08 <_sk_callback_hsw+0x1eb>
1101  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
1102  DB  196,98,125,88,13,70,46,0,0          ; vpbroadcastd  0x2e46(%rip),%ymm9        # 3f0c <_sk_callback_hsw+0x1ef>
1103  DB  196,65,101,219,201                  ; vpand         %ymm9,%ymm3,%ymm9
1104  DB  196,65,124,91,201                   ; vcvtdq2ps     %ymm9,%ymm9
1105  DB  196,98,125,24,21,55,46,0,0          ; vbroadcastss  0x2e37(%rip),%ymm10        # 3f10 <_sk_callback_hsw+0x1f3>
1106  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
1107  DB  196,98,125,88,21,45,46,0,0          ; vpbroadcastd  0x2e2d(%rip),%ymm10        # 3f14 <_sk_callback_hsw+0x1f7>
1108  DB  196,193,101,219,218                 ; vpand         %ymm10,%ymm3,%ymm3
1109  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
1110  DB  196,98,125,24,21,31,46,0,0          ; vbroadcastss  0x2e1f(%rip),%ymm10        # 3f18 <_sk_callback_hsw+0x1fb>
1111  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
1112  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
1113  DB  196,226,61,168,196                  ; vfmadd213ps   %ymm4,%ymm8,%ymm0
1114  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
1115  DB  196,226,53,168,205                  ; vfmadd213ps   %ymm5,%ymm9,%ymm1
1116  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
1117  DB  196,226,101,168,214                 ; vfmadd213ps   %ymm6,%ymm3,%ymm2
1118  DB  72,173                              ; lods          %ds:(%rsi),%rax
1119  DB  196,226,125,24,29,248,45,0,0        ; vbroadcastss  0x2df8(%rip),%ymm3        # 3f1c <_sk_callback_hsw+0x1ff>
1120  DB  255,224                             ; jmpq          *%rax
1121  DB  65,137,200                          ; mov           %ecx,%r8d
1122  DB  65,128,224,7                        ; and           $0x7,%r8b
1123  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
1124  DB  65,254,200                          ; dec           %r8b
1125  DB  65,128,248,6                        ; cmp           $0x6,%r8b
1126  DB  15,135,89,255,255,255               ; ja            1097 <_sk_lerp_565_hsw+0x14>
1127  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
1128  DB  76,141,13,75,0,0,0                  ; lea           0x4b(%rip),%r9        # 1194 <_sk_lerp_565_hsw+0x111>
1129  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
1130  DB  76,1,200                            ; add           %r9,%rax
1131  DB  255,224                             ; jmpq          *%rax
1132  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
1133  DB  196,193,97,196,92,122,12,6          ; vpinsrw       $0x6,0xc(%r10,%rdi,2),%xmm3,%xmm3
1134  DB  196,193,97,196,92,122,10,5          ; vpinsrw       $0x5,0xa(%r10,%rdi,2),%xmm3,%xmm3
1135  DB  196,193,97,196,92,122,8,4           ; vpinsrw       $0x4,0x8(%r10,%rdi,2),%xmm3,%xmm3
1136  DB  196,193,97,196,92,122,6,3           ; vpinsrw       $0x3,0x6(%r10,%rdi,2),%xmm3,%xmm3
1137  DB  196,193,97,196,92,122,4,2           ; vpinsrw       $0x2,0x4(%r10,%rdi,2),%xmm3,%xmm3
1138  DB  196,193,97,196,92,122,2,1           ; vpinsrw       $0x1,0x2(%r10,%rdi,2),%xmm3,%xmm3
1139  DB  196,193,97,196,28,122,0             ; vpinsrw       $0x0,(%r10,%rdi,2),%xmm3,%xmm3
1140  DB  233,5,255,255,255                   ; jmpq          1097 <_sk_lerp_565_hsw+0x14>
1141  DB  102,144                             ; xchg          %ax,%ax
1142  DB  242,255                             ; repnz         (bad)
1143  DB  255                                 ; (bad)
1144  DB  255                                 ; (bad)
1145  DB  234                                 ; (bad)
1146  DB  255                                 ; (bad)
1147  DB  255                                 ; (bad)
1148  DB  255,226                             ; jmpq          *%rdx
1149  DB  255                                 ; (bad)
1150  DB  255                                 ; (bad)
1151  DB  255                                 ; (bad)
1152  DB  218,255                             ; (bad)
1153  DB  255                                 ; (bad)
1154  DB  255,210                             ; callq         *%rdx
1155  DB  255                                 ; (bad)
1156  DB  255                                 ; (bad)
1157  DB  255,202                             ; dec           %edx
1158  DB  255                                 ; (bad)
1159  DB  255                                 ; (bad)
1160  DB  255                                 ; (bad)
1161  DB  190                                 ; .byte         0xbe
1162  DB  255                                 ; (bad)
1163  DB  255                                 ; (bad)
1164  DB  255                                 ; .byte         0xff
1165
1166PUBLIC _sk_load_tables_hsw
1167_sk_load_tables_hsw LABEL PROC
1168  DB  73,137,200                          ; mov           %rcx,%r8
1169  DB  72,173                              ; lods          %ds:(%rsi),%rax
1170  DB  76,141,12,189,0,0,0,0               ; lea           0x0(,%rdi,4),%r9
1171  DB  76,3,8                              ; add           (%rax),%r9
1172  DB  77,133,192                          ; test          %r8,%r8
1173  DB  117,105                             ; jne           122e <_sk_load_tables_hsw+0x7e>
1174  DB  196,193,126,111,25                  ; vmovdqu       (%r9),%ymm3
1175  DB  197,229,219,13,14,48,0,0            ; vpand         0x300e(%rip),%ymm3,%ymm1        # 41e0 <_sk_callback_hsw+0x4c3>
1176  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
1177  DB  72,139,72,8                         ; mov           0x8(%rax),%rcx
1178  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
1179  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
1180  DB  196,226,109,146,4,137               ; vgatherdps    %ymm2,(%rcx,%ymm1,4),%ymm0
1181  DB  196,226,101,0,21,14,48,0,0          ; vpshufb       0x300e(%rip),%ymm3,%ymm2        # 4200 <_sk_callback_hsw+0x4e3>
1182  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
1183  DB  196,194,53,146,12,145               ; vgatherdps    %ymm9,(%r9,%ymm2,4),%ymm1
1184  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
1185  DB  196,98,101,0,13,22,48,0,0           ; vpshufb       0x3016(%rip),%ymm3,%ymm9        # 4220 <_sk_callback_hsw+0x503>
1186  DB  196,162,61,146,20,136               ; vgatherdps    %ymm8,(%rax,%ymm9,4),%ymm2
1187  DB  197,229,114,211,24                  ; vpsrld        $0x18,%ymm3,%ymm3
1188  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
1189  DB  196,98,125,24,5,254,44,0,0          ; vbroadcastss  0x2cfe(%rip),%ymm8        # 3f20 <_sk_callback_hsw+0x203>
1190  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
1191  DB  72,173                              ; lods          %ds:(%rsi),%rax
1192  DB  76,137,193                          ; mov           %r8,%rcx
1193  DB  255,224                             ; jmpq          *%rax
1194  DB  185,8,0,0,0                         ; mov           $0x8,%ecx
1195  DB  68,41,193                           ; sub           %r8d,%ecx
1196  DB  192,225,3                           ; shl           $0x3,%cl
1197  DB  73,199,194,255,255,255,255          ; mov           $0xffffffffffffffff,%r10
1198  DB  73,211,234                          ; shr           %cl,%r10
1199  DB  196,193,249,110,194                 ; vmovq         %r10,%xmm0
1200  DB  196,226,125,33,192                  ; vpmovsxbd     %xmm0,%ymm0
1201  DB  196,194,125,140,25                  ; vpmaskmovd    (%r9),%ymm0,%ymm3
1202  DB  233,115,255,255,255                 ; jmpq          11ca <_sk_load_tables_hsw+0x1a>
1203
1204PUBLIC _sk_load_tables_u16_be_hsw
1205_sk_load_tables_u16_be_hsw LABEL PROC
1206  DB  72,173                              ; lods          %ds:(%rsi),%rax
1207  DB  76,139,0                            ; mov           (%rax),%r8
1208  DB  76,141,12,189,0,0,0,0               ; lea           0x0(,%rdi,4),%r9
1209  DB  72,133,201                          ; test          %rcx,%rcx
1210  DB  15,133,201,0,0,0                    ; jne           1336 <_sk_load_tables_u16_be_hsw+0xdf>
1211  DB  196,1,121,16,4,72                   ; vmovupd       (%r8,%r9,2),%xmm8
1212  DB  196,129,121,16,84,72,16             ; vmovupd       0x10(%r8,%r9,2),%xmm2
1213  DB  196,129,121,16,92,72,32             ; vmovupd       0x20(%r8,%r9,2),%xmm3
1214  DB  196,1,122,111,76,72,48              ; vmovdqu       0x30(%r8,%r9,2),%xmm9
1215  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
1216  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
1217  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
1218  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
1219  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
1220  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
1221  DB  197,241,97,195                      ; vpunpcklwd    %xmm3,%xmm1,%xmm0
1222  DB  197,241,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm3
1223  DB  197,185,108,200                     ; vpunpcklqdq   %xmm0,%xmm8,%xmm1
1224  DB  197,185,109,208                     ; vpunpckhqdq   %xmm0,%xmm8,%xmm2
1225  DB  197,49,108,195                      ; vpunpcklqdq   %xmm3,%xmm9,%xmm8
1226  DB  197,121,111,21,162,48,0,0           ; vmovdqa       0x30a2(%rip),%xmm10        # 4360 <_sk_callback_hsw+0x643>
1227  DB  196,193,113,219,194                 ; vpand         %xmm10,%xmm1,%xmm0
1228  DB  196,226,125,51,200                  ; vpmovzxwd     %xmm0,%ymm1
1229  DB  196,65,37,118,219                   ; vpcmpeqd      %ymm11,%ymm11,%ymm11
1230  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
1231  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
1232  DB  196,65,29,118,228                   ; vpcmpeqd      %ymm12,%ymm12,%ymm12
1233  DB  196,194,29,146,4,136                ; vgatherdps    %ymm12,(%r8,%ymm1,4),%ymm0
1234  DB  196,193,105,219,202                 ; vpand         %xmm10,%xmm2,%xmm1
1235  DB  196,226,125,51,209                  ; vpmovzxwd     %xmm1,%ymm2
1236  DB  196,65,29,118,228                   ; vpcmpeqd      %ymm12,%ymm12,%ymm12
1237  DB  196,194,29,146,12,145               ; vgatherdps    %ymm12,(%r9,%ymm2,4),%ymm1
1238  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
1239  DB  196,193,57,219,210                  ; vpand         %xmm10,%xmm8,%xmm2
1240  DB  196,98,125,51,194                   ; vpmovzxwd     %xmm2,%ymm8
1241  DB  196,162,37,146,20,128               ; vgatherdps    %ymm11,(%rax,%ymm8,4),%ymm2
1242  DB  197,177,109,219                     ; vpunpckhqdq   %xmm3,%xmm9,%xmm3
1243  DB  197,185,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm8
1244  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
1245  DB  197,185,235,219                     ; vpor          %xmm3,%xmm8,%xmm3
1246  DB  196,226,125,51,219                  ; vpmovzxwd     %xmm3,%ymm3
1247  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
1248  DB  196,98,125,24,5,247,43,0,0          ; vbroadcastss  0x2bf7(%rip),%ymm8        # 3f24 <_sk_callback_hsw+0x207>
1249  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
1250  DB  72,173                              ; lods          %ds:(%rsi),%rax
1251  DB  255,224                             ; jmpq          *%rax
1252  DB  196,1,123,16,4,72                   ; vmovsd        (%r8,%r9,2),%xmm8
1253  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
1254  DB  72,131,249,1                        ; cmp           $0x1,%rcx
1255  DB  116,85                              ; je            139c <_sk_load_tables_u16_be_hsw+0x145>
1256  DB  196,1,57,22,68,72,8                 ; vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
1257  DB  72,131,249,3                        ; cmp           $0x3,%rcx
1258  DB  114,72                              ; jb            139c <_sk_load_tables_u16_be_hsw+0x145>
1259  DB  196,129,123,16,84,72,16             ; vmovsd        0x10(%r8,%r9,2),%xmm2
1260  DB  72,131,249,3                        ; cmp           $0x3,%rcx
1261  DB  116,72                              ; je            13a9 <_sk_load_tables_u16_be_hsw+0x152>
1262  DB  196,129,105,22,84,72,24             ; vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
1263  DB  72,131,249,5                        ; cmp           $0x5,%rcx
1264  DB  114,59                              ; jb            13a9 <_sk_load_tables_u16_be_hsw+0x152>
1265  DB  196,129,123,16,92,72,32             ; vmovsd        0x20(%r8,%r9,2),%xmm3
1266  DB  72,131,249,5                        ; cmp           $0x5,%rcx
1267  DB  15,132,9,255,255,255                ; je            1288 <_sk_load_tables_u16_be_hsw+0x31>
1268  DB  196,129,97,22,92,72,40              ; vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
1269  DB  72,131,249,7                        ; cmp           $0x7,%rcx
1270  DB  15,130,248,254,255,255              ; jb            1288 <_sk_load_tables_u16_be_hsw+0x31>
1271  DB  196,1,122,126,76,72,48              ; vmovq         0x30(%r8,%r9,2),%xmm9
1272  DB  233,236,254,255,255                 ; jmpq          1288 <_sk_load_tables_u16_be_hsw+0x31>
1273  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
1274  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
1275  DB  233,223,254,255,255                 ; jmpq          1288 <_sk_load_tables_u16_be_hsw+0x31>
1276  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
1277  DB  233,214,254,255,255                 ; jmpq          1288 <_sk_load_tables_u16_be_hsw+0x31>
1278
1279PUBLIC _sk_load_tables_rgb_u16_be_hsw
1280_sk_load_tables_rgb_u16_be_hsw LABEL PROC
1281  DB  72,173                              ; lods          %ds:(%rsi),%rax
1282  DB  76,139,0                            ; mov           (%rax),%r8
1283  DB  76,141,12,127                       ; lea           (%rdi,%rdi,2),%r9
1284  DB  72,133,201                          ; test          %rcx,%rcx
1285  DB  15,133,193,0,0,0                    ; jne           1485 <_sk_load_tables_rgb_u16_be_hsw+0xd3>
1286  DB  196,129,122,111,4,72                ; vmovdqu       (%r8,%r9,2),%xmm0
1287  DB  196,129,122,111,84,72,12            ; vmovdqu       0xc(%r8,%r9,2),%xmm2
1288  DB  196,129,122,111,76,72,24            ; vmovdqu       0x18(%r8,%r9,2),%xmm1
1289  DB  196,129,122,111,92,72,32            ; vmovdqu       0x20(%r8,%r9,2),%xmm3
1290  DB  197,225,115,219,4                   ; vpsrldq       $0x4,%xmm3,%xmm3
1291  DB  197,185,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm8
1292  DB  197,177,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm9
1293  DB  197,161,115,217,6                   ; vpsrldq       $0x6,%xmm1,%xmm11
1294  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
1295  DB  197,249,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm0
1296  DB  196,193,57,97,209                   ; vpunpcklwd    %xmm9,%xmm8,%xmm2
1297  DB  197,241,97,203                      ; vpunpcklwd    %xmm3,%xmm1,%xmm1
1298  DB  196,193,33,97,218                   ; vpunpcklwd    %xmm10,%xmm11,%xmm3
1299  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
1300  DB  197,249,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm0
1301  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
1302  DB  197,241,105,203                     ; vpunpckhwd    %xmm3,%xmm1,%xmm1
1303  DB  197,185,108,218                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm3
1304  DB  197,185,109,210                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm2
1305  DB  197,121,108,193                     ; vpunpcklqdq   %xmm1,%xmm0,%xmm8
1306  DB  197,121,111,13,66,47,0,0            ; vmovdqa       0x2f42(%rip),%xmm9        # 4370 <_sk_callback_hsw+0x653>
1307  DB  196,193,97,219,193                  ; vpand         %xmm9,%xmm3,%xmm0
1308  DB  196,226,125,51,200                  ; vpmovzxwd     %xmm0,%ymm1
1309  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
1310  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
1311  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
1312  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
1313  DB  196,194,45,146,4,136                ; vgatherdps    %ymm10,(%r8,%ymm1,4),%ymm0
1314  DB  196,193,105,219,201                 ; vpand         %xmm9,%xmm2,%xmm1
1315  DB  196,226,125,51,209                  ; vpmovzxwd     %xmm1,%ymm2
1316  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
1317  DB  196,194,45,146,12,145               ; vgatherdps    %ymm10,(%r9,%ymm2,4),%ymm1
1318  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
1319  DB  196,193,57,219,209                  ; vpand         %xmm9,%xmm8,%xmm2
1320  DB  196,98,125,51,194                   ; vpmovzxwd     %xmm2,%ymm8
1321  DB  196,162,101,146,20,128              ; vgatherdps    %ymm3,(%rax,%ymm8,4),%ymm2
1322  DB  72,173                              ; lods          %ds:(%rsi),%rax
1323  DB  196,226,125,24,29,165,42,0,0        ; vbroadcastss  0x2aa5(%rip),%ymm3        # 3f28 <_sk_callback_hsw+0x20b>
1324  DB  255,224                             ; jmpq          *%rax
1325  DB  196,129,121,110,4,72                ; vmovd         (%r8,%r9,2),%xmm0
1326  DB  196,129,121,196,68,72,4,2           ; vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm0
1327  DB  72,131,249,1                        ; cmp           $0x1,%rcx
1328  DB  117,5                               ; jne           149e <_sk_load_tables_rgb_u16_be_hsw+0xec>
1329  DB  233,90,255,255,255                  ; jmpq          13f8 <_sk_load_tables_rgb_u16_be_hsw+0x46>
1330  DB  196,129,121,110,76,72,6             ; vmovd         0x6(%r8,%r9,2),%xmm1
1331  DB  196,1,113,196,68,72,10,2            ; vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm1,%xmm8
1332  DB  72,131,249,3                        ; cmp           $0x3,%rcx
1333  DB  114,26                              ; jb            14cd <_sk_load_tables_rgb_u16_be_hsw+0x11b>
1334  DB  196,129,121,110,76,72,12            ; vmovd         0xc(%r8,%r9,2),%xmm1
1335  DB  196,129,113,196,84,72,16,2          ; vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm1,%xmm2
1336  DB  72,131,249,3                        ; cmp           $0x3,%rcx
1337  DB  117,10                              ; jne           14d2 <_sk_load_tables_rgb_u16_be_hsw+0x120>
1338  DB  233,43,255,255,255                  ; jmpq          13f8 <_sk_load_tables_rgb_u16_be_hsw+0x46>
1339  DB  233,38,255,255,255                  ; jmpq          13f8 <_sk_load_tables_rgb_u16_be_hsw+0x46>
1340  DB  196,129,121,110,76,72,18            ; vmovd         0x12(%r8,%r9,2),%xmm1
1341  DB  196,1,113,196,76,72,22,2            ; vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm1,%xmm9
1342  DB  72,131,249,5                        ; cmp           $0x5,%rcx
1343  DB  114,26                              ; jb            1501 <_sk_load_tables_rgb_u16_be_hsw+0x14f>
1344  DB  196,129,121,110,76,72,24            ; vmovd         0x18(%r8,%r9,2),%xmm1
1345  DB  196,129,113,196,76,72,28,2          ; vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm1,%xmm1
1346  DB  72,131,249,5                        ; cmp           $0x5,%rcx
1347  DB  117,10                              ; jne           1506 <_sk_load_tables_rgb_u16_be_hsw+0x154>
1348  DB  233,247,254,255,255                 ; jmpq          13f8 <_sk_load_tables_rgb_u16_be_hsw+0x46>
1349  DB  233,242,254,255,255                 ; jmpq          13f8 <_sk_load_tables_rgb_u16_be_hsw+0x46>
1350  DB  196,129,121,110,92,72,30            ; vmovd         0x1e(%r8,%r9,2),%xmm3
1351  DB  196,1,97,196,92,72,34,2             ; vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm3,%xmm11
1352  DB  72,131,249,7                        ; cmp           $0x7,%rcx
1353  DB  114,20                              ; jb            152f <_sk_load_tables_rgb_u16_be_hsw+0x17d>
1354  DB  196,129,121,110,92,72,36            ; vmovd         0x24(%r8,%r9,2),%xmm3
1355  DB  196,129,97,196,92,72,40,2           ; vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm3,%xmm3
1356  DB  233,201,254,255,255                 ; jmpq          13f8 <_sk_load_tables_rgb_u16_be_hsw+0x46>
1357  DB  233,196,254,255,255                 ; jmpq          13f8 <_sk_load_tables_rgb_u16_be_hsw+0x46>
1358
1359PUBLIC _sk_byte_tables_hsw
1360_sk_byte_tables_hsw LABEL PROC
1361  DB  85                                  ; push          %rbp
1362  DB  65,87                               ; push          %r15
1363  DB  65,86                               ; push          %r14
1364  DB  65,85                               ; push          %r13
1365  DB  65,84                               ; push          %r12
1366  DB  83                                  ; push          %rbx
1367  DB  72,173                              ; lods          %ds:(%rsi),%rax
1368  DB  196,98,125,24,5,227,41,0,0          ; vbroadcastss  0x29e3(%rip),%ymm8        # 3f2c <_sk_callback_hsw+0x20f>
1369  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
1370  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
1371  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
1372  DB  68,137,197                          ; mov           %r8d,%ebp
1373  DB  77,137,194                          ; mov           %r8,%r10
1374  DB  73,193,234,32                       ; shr           $0x20,%r10
1375  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
1376  DB  69,137,195                          ; mov           %r8d,%r11d
1377  DB  77,137,199                          ; mov           %r8,%r15
1378  DB  73,193,239,32                       ; shr           $0x20,%r15
1379  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
1380  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
1381  DB  69,137,198                          ; mov           %r8d,%r14d
1382  DB  77,137,196                          ; mov           %r8,%r12
1383  DB  73,193,236,32                       ; shr           $0x20,%r12
1384  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
1385  DB  65,137,221                          ; mov           %ebx,%r13d
1386  DB  72,193,235,32                       ; shr           $0x20,%rbx
1387  DB  76,139,8                            ; mov           (%rax),%r9
1388  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
1389  DB  196,131,121,32,4,25,0               ; vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
1390  DB  196,131,121,32,4,57,1               ; vpinsrb       $0x1,(%r9,%r15,1),%xmm0,%xmm0
1391  DB  65,15,182,44,41                     ; movzbl        (%r9,%rbp,1),%ebp
1392  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
1393  DB  67,15,182,44,17                     ; movzbl        (%r9,%r10,1),%ebp
1394  DB  196,227,121,32,197,3                ; vpinsrb       $0x3,%ebp,%xmm0,%xmm0
1395  DB  67,15,182,44,41                     ; movzbl        (%r9,%r13,1),%ebp
1396  DB  196,227,121,32,197,4                ; vpinsrb       $0x4,%ebp,%xmm0,%xmm0
1397  DB  65,15,182,44,25                     ; movzbl        (%r9,%rbx,1),%ebp
1398  DB  196,227,121,32,197,5                ; vpinsrb       $0x5,%ebp,%xmm0,%xmm0
1399  DB  67,15,182,44,49                     ; movzbl        (%r9,%r14,1),%ebp
1400  DB  196,227,121,32,197,6                ; vpinsrb       $0x6,%ebp,%xmm0,%xmm0
1401  DB  67,15,182,44,33                     ; movzbl        (%r9,%r12,1),%ebp
1402  DB  196,227,121,32,197,7                ; vpinsrb       $0x7,%ebp,%xmm0,%xmm0
1403  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
1404  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
1405  DB  196,98,125,24,13,52,41,0,0          ; vbroadcastss  0x2934(%rip),%ymm9        # 3f30 <_sk_callback_hsw+0x213>
1406  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
1407  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
1408  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
1409  DB  196,227,249,22,205,1                ; vpextrq       $0x1,%xmm1,%rbp
1410  DB  65,137,233                          ; mov           %ebp,%r9d
1411  DB  72,193,237,32                       ; shr           $0x20,%rbp
1412  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
1413  DB  65,137,218                          ; mov           %ebx,%r10d
1414  DB  72,193,235,32                       ; shr           $0x20,%rbx
1415  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
1416  DB  196,195,249,22,203,1                ; vpextrq       $0x1,%xmm1,%r11
1417  DB  69,137,222                          ; mov           %r11d,%r14d
1418  DB  73,193,235,32                       ; shr           $0x20,%r11
1419  DB  196,193,249,126,207                 ; vmovq         %xmm1,%r15
1420  DB  69,137,252                          ; mov           %r15d,%r12d
1421  DB  73,193,239,32                       ; shr           $0x20,%r15
1422  DB  196,131,121,32,12,16,0              ; vpinsrb       $0x0,(%r8,%r10,1),%xmm0,%xmm1
1423  DB  196,195,113,32,12,24,1              ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm1,%xmm1
1424  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
1425  DB  196,227,113,32,203,2                ; vpinsrb       $0x2,%ebx,%xmm1,%xmm1
1426  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
1427  DB  196,227,113,32,205,3                ; vpinsrb       $0x3,%ebp,%xmm1,%xmm1
1428  DB  67,15,182,44,32                     ; movzbl        (%r8,%r12,1),%ebp
1429  DB  196,227,113,32,205,4                ; vpinsrb       $0x4,%ebp,%xmm1,%xmm1
1430  DB  67,15,182,44,56                     ; movzbl        (%r8,%r15,1),%ebp
1431  DB  196,227,113,32,205,5                ; vpinsrb       $0x5,%ebp,%xmm1,%xmm1
1432  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
1433  DB  196,227,113,32,205,6                ; vpinsrb       $0x6,%ebp,%xmm1,%xmm1
1434  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
1435  DB  196,227,113,32,205,7                ; vpinsrb       $0x7,%ebp,%xmm1,%xmm1
1436  DB  196,226,125,49,201                  ; vpmovzxbd     %xmm1,%ymm1
1437  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
1438  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
1439  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
1440  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
1441  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
1442  DB  196,227,249,22,213,1                ; vpextrq       $0x1,%xmm2,%rbp
1443  DB  65,137,233                          ; mov           %ebp,%r9d
1444  DB  72,193,237,32                       ; shr           $0x20,%rbp
1445  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
1446  DB  65,137,218                          ; mov           %ebx,%r10d
1447  DB  72,193,235,32                       ; shr           $0x20,%rbx
1448  DB  196,227,125,57,210,1                ; vextracti128  $0x1,%ymm2,%xmm2
1449  DB  196,195,249,22,211,1                ; vpextrq       $0x1,%xmm2,%r11
1450  DB  69,137,222                          ; mov           %r11d,%r14d
1451  DB  73,193,235,32                       ; shr           $0x20,%r11
1452  DB  196,193,249,126,215                 ; vmovq         %xmm2,%r15
1453  DB  69,137,252                          ; mov           %r15d,%r12d
1454  DB  73,193,239,32                       ; shr           $0x20,%r15
1455  DB  196,131,121,32,20,16,0              ; vpinsrb       $0x0,(%r8,%r10,1),%xmm0,%xmm2
1456  DB  196,195,105,32,20,24,1              ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm2,%xmm2
1457  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
1458  DB  196,227,105,32,211,2                ; vpinsrb       $0x2,%ebx,%xmm2,%xmm2
1459  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
1460  DB  196,227,105,32,213,3                ; vpinsrb       $0x3,%ebp,%xmm2,%xmm2
1461  DB  67,15,182,44,32                     ; movzbl        (%r8,%r12,1),%ebp
1462  DB  196,227,105,32,213,4                ; vpinsrb       $0x4,%ebp,%xmm2,%xmm2
1463  DB  67,15,182,44,56                     ; movzbl        (%r8,%r15,1),%ebp
1464  DB  196,227,105,32,213,5                ; vpinsrb       $0x5,%ebp,%xmm2,%xmm2
1465  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
1466  DB  196,227,105,32,213,6                ; vpinsrb       $0x6,%ebp,%xmm2,%xmm2
1467  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
1468  DB  196,227,105,32,213,7                ; vpinsrb       $0x7,%ebp,%xmm2,%xmm2
1469  DB  196,226,125,49,210                  ; vpmovzxbd     %xmm2,%ymm2
1470  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
1471  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
1472  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
1473  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
1474  DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
1475  DB  196,227,249,22,221,1                ; vpextrq       $0x1,%xmm3,%rbp
1476  DB  65,137,232                          ; mov           %ebp,%r8d
1477  DB  72,193,237,32                       ; shr           $0x20,%rbp
1478  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
1479  DB  65,137,217                          ; mov           %ebx,%r9d
1480  DB  72,193,235,32                       ; shr           $0x20,%rbx
1481  DB  196,227,125,57,219,1                ; vextracti128  $0x1,%ymm3,%xmm3
1482  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
1483  DB  69,137,211                          ; mov           %r10d,%r11d
1484  DB  73,193,234,32                       ; shr           $0x20,%r10
1485  DB  196,193,249,126,222                 ; vmovq         %xmm3,%r14
1486  DB  69,137,247                          ; mov           %r14d,%r15d
1487  DB  73,193,238,32                       ; shr           $0x20,%r14
1488  DB  196,163,121,32,28,8,0               ; vpinsrb       $0x0,(%rax,%r9,1),%xmm0,%xmm3
1489  DB  196,227,97,32,28,24,1               ; vpinsrb       $0x1,(%rax,%rbx,1),%xmm3,%xmm3
1490  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
1491  DB  196,227,97,32,219,2                 ; vpinsrb       $0x2,%ebx,%xmm3,%xmm3
1492  DB  15,182,44,40                        ; movzbl        (%rax,%rbp,1),%ebp
1493  DB  196,227,97,32,221,3                 ; vpinsrb       $0x3,%ebp,%xmm3,%xmm3
1494  DB  66,15,182,44,56                     ; movzbl        (%rax,%r15,1),%ebp
1495  DB  196,227,97,32,221,4                 ; vpinsrb       $0x4,%ebp,%xmm3,%xmm3
1496  DB  66,15,182,44,48                     ; movzbl        (%rax,%r14,1),%ebp
1497  DB  196,227,97,32,221,5                 ; vpinsrb       $0x5,%ebp,%xmm3,%xmm3
1498  DB  66,15,182,44,24                     ; movzbl        (%rax,%r11,1),%ebp
1499  DB  196,227,97,32,221,6                 ; vpinsrb       $0x6,%ebp,%xmm3,%xmm3
1500  DB  66,15,182,4,16                      ; movzbl        (%rax,%r10,1),%eax
1501  DB  196,227,97,32,216,7                 ; vpinsrb       $0x7,%eax,%xmm3,%xmm3
1502  DB  196,226,125,49,219                  ; vpmovzxbd     %xmm3,%ymm3
1503  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
1504  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
1505  DB  72,173                              ; lods          %ds:(%rsi),%rax
1506  DB  91                                  ; pop           %rbx
1507  DB  65,92                               ; pop           %r12
1508  DB  65,93                               ; pop           %r13
1509  DB  65,94                               ; pop           %r14
1510  DB  65,95                               ; pop           %r15
1511  DB  93                                  ; pop           %rbp
1512  DB  255,224                             ; jmpq          *%rax
1513
1514PUBLIC _sk_byte_tables_rgb_hsw
1515_sk_byte_tables_rgb_hsw LABEL PROC
1516  DB  85                                  ; push          %rbp
1517  DB  65,87                               ; push          %r15
1518  DB  65,86                               ; push          %r14
1519  DB  65,85                               ; push          %r13
1520  DB  65,84                               ; push          %r12
1521  DB  83                                  ; push          %rbx
1522  DB  72,173                              ; lods          %ds:(%rsi),%rax
1523  DB  68,139,64,24                        ; mov           0x18(%rax),%r8d
1524  DB  65,255,200                          ; dec           %r8d
1525  DB  196,65,121,110,192                  ; vmovd         %r8d,%xmm8
1526  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
1527  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1528  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
1529  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
1530  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
1531  DB  68,137,197                          ; mov           %r8d,%ebp
1532  DB  77,137,194                          ; mov           %r8,%r10
1533  DB  73,193,234,32                       ; shr           $0x20,%r10
1534  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
1535  DB  69,137,195                          ; mov           %r8d,%r11d
1536  DB  77,137,199                          ; mov           %r8,%r15
1537  DB  73,193,239,32                       ; shr           $0x20,%r15
1538  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
1539  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
1540  DB  69,137,198                          ; mov           %r8d,%r14d
1541  DB  77,137,196                          ; mov           %r8,%r12
1542  DB  73,193,236,32                       ; shr           $0x20,%r12
1543  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
1544  DB  65,137,221                          ; mov           %ebx,%r13d
1545  DB  72,193,235,32                       ; shr           $0x20,%rbx
1546  DB  76,139,8                            ; mov           (%rax),%r9
1547  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
1548  DB  196,131,121,32,4,25,0               ; vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
1549  DB  196,131,121,32,4,57,1               ; vpinsrb       $0x1,(%r9,%r15,1),%xmm0,%xmm0
1550  DB  65,15,182,44,41                     ; movzbl        (%r9,%rbp,1),%ebp
1551  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
1552  DB  67,15,182,44,17                     ; movzbl        (%r9,%r10,1),%ebp
1553  DB  196,227,121,32,197,3                ; vpinsrb       $0x3,%ebp,%xmm0,%xmm0
1554  DB  67,15,182,44,41                     ; movzbl        (%r9,%r13,1),%ebp
1555  DB  196,227,121,32,197,4                ; vpinsrb       $0x4,%ebp,%xmm0,%xmm0
1556  DB  65,15,182,44,25                     ; movzbl        (%r9,%rbx,1),%ebp
1557  DB  196,227,121,32,197,5                ; vpinsrb       $0x5,%ebp,%xmm0,%xmm0
1558  DB  67,15,182,44,49                     ; movzbl        (%r9,%r14,1),%ebp
1559  DB  196,227,121,32,197,6                ; vpinsrb       $0x6,%ebp,%xmm0,%xmm0
1560  DB  67,15,182,44,33                     ; movzbl        (%r9,%r12,1),%ebp
1561  DB  196,227,121,32,197,7                ; vpinsrb       $0x7,%ebp,%xmm0,%xmm0
1562  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
1563  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
1564  DB  196,98,125,24,13,109,38,0,0         ; vbroadcastss  0x266d(%rip),%ymm9        # 3f34 <_sk_callback_hsw+0x217>
1565  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
1566  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
1567  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
1568  DB  196,227,249,22,205,1                ; vpextrq       $0x1,%xmm1,%rbp
1569  DB  65,137,233                          ; mov           %ebp,%r9d
1570  DB  72,193,237,32                       ; shr           $0x20,%rbp
1571  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
1572  DB  65,137,218                          ; mov           %ebx,%r10d
1573  DB  72,193,235,32                       ; shr           $0x20,%rbx
1574  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
1575  DB  196,195,249,22,203,1                ; vpextrq       $0x1,%xmm1,%r11
1576  DB  69,137,222                          ; mov           %r11d,%r14d
1577  DB  73,193,235,32                       ; shr           $0x20,%r11
1578  DB  196,193,249,126,207                 ; vmovq         %xmm1,%r15
1579  DB  69,137,252                          ; mov           %r15d,%r12d
1580  DB  73,193,239,32                       ; shr           $0x20,%r15
1581  DB  196,131,121,32,12,16,0              ; vpinsrb       $0x0,(%r8,%r10,1),%xmm0,%xmm1
1582  DB  196,195,113,32,12,24,1              ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm1,%xmm1
1583  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
1584  DB  196,227,113,32,203,2                ; vpinsrb       $0x2,%ebx,%xmm1,%xmm1
1585  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
1586  DB  196,227,113,32,205,3                ; vpinsrb       $0x3,%ebp,%xmm1,%xmm1
1587  DB  67,15,182,44,32                     ; movzbl        (%r8,%r12,1),%ebp
1588  DB  196,227,113,32,205,4                ; vpinsrb       $0x4,%ebp,%xmm1,%xmm1
1589  DB  67,15,182,44,56                     ; movzbl        (%r8,%r15,1),%ebp
1590  DB  196,227,113,32,205,5                ; vpinsrb       $0x5,%ebp,%xmm1,%xmm1
1591  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
1592  DB  196,227,113,32,205,6                ; vpinsrb       $0x6,%ebp,%xmm1,%xmm1
1593  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
1594  DB  196,227,113,32,205,7                ; vpinsrb       $0x7,%ebp,%xmm1,%xmm1
1595  DB  196,226,125,49,201                  ; vpmovzxbd     %xmm1,%ymm1
1596  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
1597  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
1598  DB  72,139,64,16                        ; mov           0x10(%rax),%rax
1599  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
1600  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
1601  DB  196,227,249,22,213,1                ; vpextrq       $0x1,%xmm2,%rbp
1602  DB  65,137,232                          ; mov           %ebp,%r8d
1603  DB  72,193,237,32                       ; shr           $0x20,%rbp
1604  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
1605  DB  65,137,217                          ; mov           %ebx,%r9d
1606  DB  72,193,235,32                       ; shr           $0x20,%rbx
1607  DB  196,227,125,57,210,1                ; vextracti128  $0x1,%ymm2,%xmm2
1608  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
1609  DB  69,137,211                          ; mov           %r10d,%r11d
1610  DB  73,193,234,32                       ; shr           $0x20,%r10
1611  DB  196,193,249,126,214                 ; vmovq         %xmm2,%r14
1612  DB  69,137,247                          ; mov           %r14d,%r15d
1613  DB  73,193,238,32                       ; shr           $0x20,%r14
1614  DB  196,163,121,32,20,8,0               ; vpinsrb       $0x0,(%rax,%r9,1),%xmm0,%xmm2
1615  DB  196,227,105,32,20,24,1              ; vpinsrb       $0x1,(%rax,%rbx,1),%xmm2,%xmm2
1616  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
1617  DB  196,227,105,32,211,2                ; vpinsrb       $0x2,%ebx,%xmm2,%xmm2
1618  DB  15,182,44,40                        ; movzbl        (%rax,%rbp,1),%ebp
1619  DB  196,227,105,32,213,3                ; vpinsrb       $0x3,%ebp,%xmm2,%xmm2
1620  DB  66,15,182,44,56                     ; movzbl        (%rax,%r15,1),%ebp
1621  DB  196,227,105,32,213,4                ; vpinsrb       $0x4,%ebp,%xmm2,%xmm2
1622  DB  66,15,182,44,48                     ; movzbl        (%rax,%r14,1),%ebp
1623  DB  196,227,105,32,213,5                ; vpinsrb       $0x5,%ebp,%xmm2,%xmm2
1624  DB  66,15,182,44,24                     ; movzbl        (%rax,%r11,1),%ebp
1625  DB  196,227,105,32,213,6                ; vpinsrb       $0x6,%ebp,%xmm2,%xmm2
1626  DB  66,15,182,4,16                      ; movzbl        (%rax,%r10,1),%eax
1627  DB  196,227,105,32,208,7                ; vpinsrb       $0x7,%eax,%xmm2,%xmm2
1628  DB  196,226,125,49,210                  ; vpmovzxbd     %xmm2,%ymm2
1629  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
1630  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
1631  DB  72,173                              ; lods          %ds:(%rsi),%rax
1632  DB  91                                  ; pop           %rbx
1633  DB  65,92                               ; pop           %r12
1634  DB  65,93                               ; pop           %r13
1635  DB  65,94                               ; pop           %r14
1636  DB  65,95                               ; pop           %r15
1637  DB  93                                  ; pop           %rbp
1638  DB  255,224                             ; jmpq          *%rax
1639
1640PUBLIC _sk_table_r_hsw
1641_sk_table_r_hsw LABEL PROC
1642  DB  72,173                              ; lods          %ds:(%rsi),%rax
1643  DB  76,139,0                            ; mov           (%rax),%r8
1644  DB  139,64,8                            ; mov           0x8(%rax),%eax
1645  DB  255,200                             ; dec           %eax
1646  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
1647  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
1648  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1649  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
1650  DB  197,125,91,192                      ; vcvtps2dq     %ymm0,%ymm8
1651  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
1652  DB  196,130,53,146,4,128                ; vgatherdps    %ymm9,(%r8,%ymm8,4),%ymm0
1653  DB  72,173                              ; lods          %ds:(%rsi),%rax
1654  DB  255,224                             ; jmpq          *%rax
1655
1656PUBLIC _sk_table_g_hsw
1657_sk_table_g_hsw LABEL PROC
1658  DB  72,173                              ; lods          %ds:(%rsi),%rax
1659  DB  76,139,0                            ; mov           (%rax),%r8
1660  DB  139,64,8                            ; mov           0x8(%rax),%eax
1661  DB  255,200                             ; dec           %eax
1662  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
1663  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
1664  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1665  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
1666  DB  197,125,91,193                      ; vcvtps2dq     %ymm1,%ymm8
1667  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
1668  DB  196,130,53,146,12,128               ; vgatherdps    %ymm9,(%r8,%ymm8,4),%ymm1
1669  DB  72,173                              ; lods          %ds:(%rsi),%rax
1670  DB  255,224                             ; jmpq          *%rax
1671
1672PUBLIC _sk_table_b_hsw
1673_sk_table_b_hsw LABEL PROC
1674  DB  72,173                              ; lods          %ds:(%rsi),%rax
1675  DB  76,139,0                            ; mov           (%rax),%r8
1676  DB  139,64,8                            ; mov           0x8(%rax),%eax
1677  DB  255,200                             ; dec           %eax
1678  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
1679  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
1680  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1681  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
1682  DB  197,125,91,194                      ; vcvtps2dq     %ymm2,%ymm8
1683  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
1684  DB  196,130,53,146,20,128               ; vgatherdps    %ymm9,(%r8,%ymm8,4),%ymm2
1685  DB  72,173                              ; lods          %ds:(%rsi),%rax
1686  DB  255,224                             ; jmpq          *%rax
1687
1688PUBLIC _sk_table_a_hsw
1689_sk_table_a_hsw LABEL PROC
1690  DB  72,173                              ; lods          %ds:(%rsi),%rax
1691  DB  76,139,0                            ; mov           (%rax),%r8
1692  DB  139,64,8                            ; mov           0x8(%rax),%eax
1693  DB  255,200                             ; dec           %eax
1694  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
1695  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
1696  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
1697  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
1698  DB  197,125,91,195                      ; vcvtps2dq     %ymm3,%ymm8
1699  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
1700  DB  196,130,53,146,28,128               ; vgatherdps    %ymm9,(%r8,%ymm8,4),%ymm3
1701  DB  72,173                              ; lods          %ds:(%rsi),%rax
1702  DB  255,224                             ; jmpq          *%rax
1703
1704PUBLIC _sk_parametric_r_hsw
1705_sk_parametric_r_hsw LABEL PROC
1706  DB  72,173                              ; lods          %ds:(%rsi),%rax
1707  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
1708  DB  196,65,124,194,192,2                ; vcmpleps      %ymm8,%ymm0,%ymm8
1709  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
1710  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
1711  DB  196,66,125,168,202                  ; vfmadd213ps   %ymm10,%ymm0,%ymm9
1712  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
1713  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
1714  DB  196,66,125,168,211                  ; vfmadd213ps   %ymm11,%ymm0,%ymm10
1715  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
1716  DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
1717  DB  196,98,125,24,37,32,36,0,0          ; vbroadcastss  0x2420(%rip),%ymm12        # 3f38 <_sk_callback_hsw+0x21b>
1718  DB  196,98,125,24,45,27,36,0,0          ; vbroadcastss  0x241b(%rip),%ymm13        # 3f3c <_sk_callback_hsw+0x21f>
1719  DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
1720  DB  196,98,125,24,45,17,36,0,0          ; vbroadcastss  0x2411(%rip),%ymm13        # 3f40 <_sk_callback_hsw+0x223>
1721  DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
1722  DB  196,98,125,24,45,7,36,0,0           ; vbroadcastss  0x2407(%rip),%ymm13        # 3f44 <_sk_callback_hsw+0x227>
1723  DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
1724  DB  196,98,125,24,29,253,35,0,0         ; vbroadcastss  0x23fd(%rip),%ymm11        # 3f48 <_sk_callback_hsw+0x22b>
1725  DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
1726  DB  196,98,125,24,37,243,35,0,0         ; vbroadcastss  0x23f3(%rip),%ymm12        # 3f4c <_sk_callback_hsw+0x22f>
1727  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
1728  DB  196,98,125,24,37,233,35,0,0         ; vbroadcastss  0x23e9(%rip),%ymm12        # 3f50 <_sk_callback_hsw+0x233>
1729  DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
1730  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
1731  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
1732  DB  196,99,125,8,208,1                  ; vroundps      $0x1,%ymm0,%ymm10
1733  DB  196,65,124,92,210                   ; vsubps        %ymm10,%ymm0,%ymm10
1734  DB  196,98,125,24,29,202,35,0,0         ; vbroadcastss  0x23ca(%rip),%ymm11        # 3f54 <_sk_callback_hsw+0x237>
1735  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
1736  DB  196,98,125,24,29,192,35,0,0         ; vbroadcastss  0x23c0(%rip),%ymm11        # 3f58 <_sk_callback_hsw+0x23b>
1737  DB  196,98,45,172,216                   ; vfnmadd213ps  %ymm0,%ymm10,%ymm11
1738  DB  196,226,125,24,5,182,35,0,0         ; vbroadcastss  0x23b6(%rip),%ymm0        # 3f5c <_sk_callback_hsw+0x23f>
1739  DB  196,193,124,92,194                  ; vsubps        %ymm10,%ymm0,%ymm0
1740  DB  196,98,125,24,21,172,35,0,0         ; vbroadcastss  0x23ac(%rip),%ymm10        # 3f60 <_sk_callback_hsw+0x243>
1741  DB  197,172,94,192                      ; vdivps        %ymm0,%ymm10,%ymm0
1742  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
1743  DB  196,98,125,24,21,159,35,0,0         ; vbroadcastss  0x239f(%rip),%ymm10        # 3f64 <_sk_callback_hsw+0x247>
1744  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
1745  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
1746  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
1747  DB  196,193,124,88,194                  ; vaddps        %ymm10,%ymm0,%ymm0
1748  DB  196,195,125,74,193,128              ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
1749  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
1750  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
1751  DB  196,98,125,24,5,118,35,0,0          ; vbroadcastss  0x2376(%rip),%ymm8        # 3f68 <_sk_callback_hsw+0x24b>
1752  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
1753  DB  72,173                              ; lods          %ds:(%rsi),%rax
1754  DB  255,224                             ; jmpq          *%rax
1755
1756PUBLIC _sk_parametric_g_hsw
1757_sk_parametric_g_hsw LABEL PROC
1758  DB  72,173                              ; lods          %ds:(%rsi),%rax
1759  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
1760  DB  196,65,116,194,192,2                ; vcmpleps      %ymm8,%ymm1,%ymm8
1761  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
1762  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
1763  DB  196,66,117,168,202                  ; vfmadd213ps   %ymm10,%ymm1,%ymm9
1764  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
1765  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
1766  DB  196,66,117,168,211                  ; vfmadd213ps   %ymm11,%ymm1,%ymm10
1767  DB  196,226,125,24,8                    ; vbroadcastss  (%rax),%ymm1
1768  DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
1769  DB  196,98,125,24,37,46,35,0,0          ; vbroadcastss  0x232e(%rip),%ymm12        # 3f6c <_sk_callback_hsw+0x24f>
1770  DB  196,98,125,24,45,41,35,0,0          ; vbroadcastss  0x2329(%rip),%ymm13        # 3f70 <_sk_callback_hsw+0x253>
1771  DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
1772  DB  196,98,125,24,45,31,35,0,0          ; vbroadcastss  0x231f(%rip),%ymm13        # 3f74 <_sk_callback_hsw+0x257>
1773  DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
1774  DB  196,98,125,24,45,21,35,0,0          ; vbroadcastss  0x2315(%rip),%ymm13        # 3f78 <_sk_callback_hsw+0x25b>
1775  DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
1776  DB  196,98,125,24,29,11,35,0,0          ; vbroadcastss  0x230b(%rip),%ymm11        # 3f7c <_sk_callback_hsw+0x25f>
1777  DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
1778  DB  196,98,125,24,37,1,35,0,0           ; vbroadcastss  0x2301(%rip),%ymm12        # 3f80 <_sk_callback_hsw+0x263>
1779  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
1780  DB  196,98,125,24,37,247,34,0,0         ; vbroadcastss  0x22f7(%rip),%ymm12        # 3f84 <_sk_callback_hsw+0x267>
1781  DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
1782  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
1783  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
1784  DB  196,99,125,8,209,1                  ; vroundps      $0x1,%ymm1,%ymm10
1785  DB  196,65,116,92,210                   ; vsubps        %ymm10,%ymm1,%ymm10
1786  DB  196,98,125,24,29,216,34,0,0         ; vbroadcastss  0x22d8(%rip),%ymm11        # 3f88 <_sk_callback_hsw+0x26b>
1787  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
1788  DB  196,98,125,24,29,206,34,0,0         ; vbroadcastss  0x22ce(%rip),%ymm11        # 3f8c <_sk_callback_hsw+0x26f>
1789  DB  196,98,45,172,217                   ; vfnmadd213ps  %ymm1,%ymm10,%ymm11
1790  DB  196,226,125,24,13,196,34,0,0        ; vbroadcastss  0x22c4(%rip),%ymm1        # 3f90 <_sk_callback_hsw+0x273>
1791  DB  196,193,116,92,202                  ; vsubps        %ymm10,%ymm1,%ymm1
1792  DB  196,98,125,24,21,186,34,0,0         ; vbroadcastss  0x22ba(%rip),%ymm10        # 3f94 <_sk_callback_hsw+0x277>
1793  DB  197,172,94,201                      ; vdivps        %ymm1,%ymm10,%ymm1
1794  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
1795  DB  196,98,125,24,21,173,34,0,0         ; vbroadcastss  0x22ad(%rip),%ymm10        # 3f98 <_sk_callback_hsw+0x27b>
1796  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
1797  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
1798  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
1799  DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
1800  DB  196,195,117,74,201,128              ; vblendvps     %ymm8,%ymm9,%ymm1,%ymm1
1801  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
1802  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
1803  DB  196,98,125,24,5,132,34,0,0          ; vbroadcastss  0x2284(%rip),%ymm8        # 3f9c <_sk_callback_hsw+0x27f>
1804  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
1805  DB  72,173                              ; lods          %ds:(%rsi),%rax
1806  DB  255,224                             ; jmpq          *%rax
1807
1808PUBLIC _sk_parametric_b_hsw
1809_sk_parametric_b_hsw LABEL PROC
1810  DB  72,173                              ; lods          %ds:(%rsi),%rax
1811  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
1812  DB  196,65,108,194,192,2                ; vcmpleps      %ymm8,%ymm2,%ymm8
1813  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
1814  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
1815  DB  196,66,109,168,202                  ; vfmadd213ps   %ymm10,%ymm2,%ymm9
1816  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
1817  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
1818  DB  196,66,109,168,211                  ; vfmadd213ps   %ymm11,%ymm2,%ymm10
1819  DB  196,226,125,24,16                   ; vbroadcastss  (%rax),%ymm2
1820  DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
1821  DB  196,98,125,24,37,60,34,0,0          ; vbroadcastss  0x223c(%rip),%ymm12        # 3fa0 <_sk_callback_hsw+0x283>
1822  DB  196,98,125,24,45,55,34,0,0          ; vbroadcastss  0x2237(%rip),%ymm13        # 3fa4 <_sk_callback_hsw+0x287>
1823  DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
1824  DB  196,98,125,24,45,45,34,0,0          ; vbroadcastss  0x222d(%rip),%ymm13        # 3fa8 <_sk_callback_hsw+0x28b>
1825  DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
1826  DB  196,98,125,24,45,35,34,0,0          ; vbroadcastss  0x2223(%rip),%ymm13        # 3fac <_sk_callback_hsw+0x28f>
1827  DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
1828  DB  196,98,125,24,29,25,34,0,0          ; vbroadcastss  0x2219(%rip),%ymm11        # 3fb0 <_sk_callback_hsw+0x293>
1829  DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
1830  DB  196,98,125,24,37,15,34,0,0          ; vbroadcastss  0x220f(%rip),%ymm12        # 3fb4 <_sk_callback_hsw+0x297>
1831  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
1832  DB  196,98,125,24,37,5,34,0,0           ; vbroadcastss  0x2205(%rip),%ymm12        # 3fb8 <_sk_callback_hsw+0x29b>
1833  DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
1834  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
1835  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
1836  DB  196,99,125,8,210,1                  ; vroundps      $0x1,%ymm2,%ymm10
1837  DB  196,65,108,92,210                   ; vsubps        %ymm10,%ymm2,%ymm10
1838  DB  196,98,125,24,29,230,33,0,0         ; vbroadcastss  0x21e6(%rip),%ymm11        # 3fbc <_sk_callback_hsw+0x29f>
1839  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
1840  DB  196,98,125,24,29,220,33,0,0         ; vbroadcastss  0x21dc(%rip),%ymm11        # 3fc0 <_sk_callback_hsw+0x2a3>
1841  DB  196,98,45,172,218                   ; vfnmadd213ps  %ymm2,%ymm10,%ymm11
1842  DB  196,226,125,24,21,210,33,0,0        ; vbroadcastss  0x21d2(%rip),%ymm2        # 3fc4 <_sk_callback_hsw+0x2a7>
1843  DB  196,193,108,92,210                  ; vsubps        %ymm10,%ymm2,%ymm2
1844  DB  196,98,125,24,21,200,33,0,0         ; vbroadcastss  0x21c8(%rip),%ymm10        # 3fc8 <_sk_callback_hsw+0x2ab>
1845  DB  197,172,94,210                      ; vdivps        %ymm2,%ymm10,%ymm2
1846  DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
1847  DB  196,98,125,24,21,187,33,0,0         ; vbroadcastss  0x21bb(%rip),%ymm10        # 3fcc <_sk_callback_hsw+0x2af>
1848  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
1849  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
1850  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
1851  DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
1852  DB  196,195,109,74,209,128              ; vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
1853  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
1854  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
1855  DB  196,98,125,24,5,146,33,0,0          ; vbroadcastss  0x2192(%rip),%ymm8        # 3fd0 <_sk_callback_hsw+0x2b3>
1856  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
1857  DB  72,173                              ; lods          %ds:(%rsi),%rax
1858  DB  255,224                             ; jmpq          *%rax
1859
1860PUBLIC _sk_parametric_a_hsw
1861_sk_parametric_a_hsw LABEL PROC
1862  DB  72,173                              ; lods          %ds:(%rsi),%rax
1863  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
1864  DB  196,65,100,194,192,2                ; vcmpleps      %ymm8,%ymm3,%ymm8
1865  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
1866  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
1867  DB  196,66,101,168,202                  ; vfmadd213ps   %ymm10,%ymm3,%ymm9
1868  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
1869  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
1870  DB  196,66,101,168,211                  ; vfmadd213ps   %ymm11,%ymm3,%ymm10
1871  DB  196,226,125,24,24                   ; vbroadcastss  (%rax),%ymm3
1872  DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
1873  DB  196,98,125,24,37,74,33,0,0          ; vbroadcastss  0x214a(%rip),%ymm12        # 3fd4 <_sk_callback_hsw+0x2b7>
1874  DB  196,98,125,24,45,69,33,0,0          ; vbroadcastss  0x2145(%rip),%ymm13        # 3fd8 <_sk_callback_hsw+0x2bb>
1875  DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
1876  DB  196,98,125,24,45,59,33,0,0          ; vbroadcastss  0x213b(%rip),%ymm13        # 3fdc <_sk_callback_hsw+0x2bf>
1877  DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
1878  DB  196,98,125,24,45,49,33,0,0          ; vbroadcastss  0x2131(%rip),%ymm13        # 3fe0 <_sk_callback_hsw+0x2c3>
1879  DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
1880  DB  196,98,125,24,29,39,33,0,0          ; vbroadcastss  0x2127(%rip),%ymm11        # 3fe4 <_sk_callback_hsw+0x2c7>
1881  DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
1882  DB  196,98,125,24,37,29,33,0,0          ; vbroadcastss  0x211d(%rip),%ymm12        # 3fe8 <_sk_callback_hsw+0x2cb>
1883  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
1884  DB  196,98,125,24,37,19,33,0,0          ; vbroadcastss  0x2113(%rip),%ymm12        # 3fec <_sk_callback_hsw+0x2cf>
1885  DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
1886  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
1887  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
1888  DB  196,99,125,8,211,1                  ; vroundps      $0x1,%ymm3,%ymm10
1889  DB  196,65,100,92,210                   ; vsubps        %ymm10,%ymm3,%ymm10
1890  DB  196,98,125,24,29,244,32,0,0         ; vbroadcastss  0x20f4(%rip),%ymm11        # 3ff0 <_sk_callback_hsw+0x2d3>
1891  DB  196,193,100,88,219                  ; vaddps        %ymm11,%ymm3,%ymm3
1892  DB  196,98,125,24,29,234,32,0,0         ; vbroadcastss  0x20ea(%rip),%ymm11        # 3ff4 <_sk_callback_hsw+0x2d7>
1893  DB  196,98,45,172,219                   ; vfnmadd213ps  %ymm3,%ymm10,%ymm11
1894  DB  196,226,125,24,29,224,32,0,0        ; vbroadcastss  0x20e0(%rip),%ymm3        # 3ff8 <_sk_callback_hsw+0x2db>
1895  DB  196,193,100,92,218                  ; vsubps        %ymm10,%ymm3,%ymm3
1896  DB  196,98,125,24,21,214,32,0,0         ; vbroadcastss  0x20d6(%rip),%ymm10        # 3ffc <_sk_callback_hsw+0x2df>
1897  DB  197,172,94,219                      ; vdivps        %ymm3,%ymm10,%ymm3
1898  DB  197,164,88,219                      ; vaddps        %ymm3,%ymm11,%ymm3
1899  DB  196,98,125,24,21,201,32,0,0         ; vbroadcastss  0x20c9(%rip),%ymm10        # 4000 <_sk_callback_hsw+0x2e3>
1900  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
1901  DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
1902  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
1903  DB  196,193,100,88,218                  ; vaddps        %ymm10,%ymm3,%ymm3
1904  DB  196,195,101,74,217,128              ; vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
1905  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
1906  DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
1907  DB  196,98,125,24,5,160,32,0,0          ; vbroadcastss  0x20a0(%rip),%ymm8        # 4004 <_sk_callback_hsw+0x2e7>
1908  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
1909  DB  72,173                              ; lods          %ds:(%rsi),%rax
1910  DB  255,224                             ; jmpq          *%rax
1911
1912PUBLIC _sk_lab_to_xyz_hsw
1913_sk_lab_to_xyz_hsw LABEL PROC
1914  DB  196,98,125,24,5,146,32,0,0          ; vbroadcastss  0x2092(%rip),%ymm8        # 4008 <_sk_callback_hsw+0x2eb>
1915  DB  196,98,125,24,13,141,32,0,0         ; vbroadcastss  0x208d(%rip),%ymm9        # 400c <_sk_callback_hsw+0x2ef>
1916  DB  196,98,125,24,21,136,32,0,0         ; vbroadcastss  0x2088(%rip),%ymm10        # 4010 <_sk_callback_hsw+0x2f3>
1917  DB  196,194,53,168,202                  ; vfmadd213ps   %ymm10,%ymm9,%ymm1
1918  DB  196,194,53,168,210                  ; vfmadd213ps   %ymm10,%ymm9,%ymm2
1919  DB  196,98,125,24,13,121,32,0,0         ; vbroadcastss  0x2079(%rip),%ymm9        # 4014 <_sk_callback_hsw+0x2f7>
1920  DB  196,66,125,184,200                  ; vfmadd231ps   %ymm8,%ymm0,%ymm9
1921  DB  196,226,125,24,5,111,32,0,0         ; vbroadcastss  0x206f(%rip),%ymm0        # 4018 <_sk_callback_hsw+0x2fb>
1922  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
1923  DB  196,98,125,24,5,102,32,0,0          ; vbroadcastss  0x2066(%rip),%ymm8        # 401c <_sk_callback_hsw+0x2ff>
1924  DB  196,98,117,168,192                  ; vfmadd213ps   %ymm0,%ymm1,%ymm8
1925  DB  196,98,125,24,13,92,32,0,0          ; vbroadcastss  0x205c(%rip),%ymm9        # 4020 <_sk_callback_hsw+0x303>
1926  DB  196,98,109,172,200                  ; vfnmadd213ps  %ymm0,%ymm2,%ymm9
1927  DB  196,193,60,89,200                   ; vmulps        %ymm8,%ymm8,%ymm1
1928  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
1929  DB  196,226,125,24,21,73,32,0,0         ; vbroadcastss  0x2049(%rip),%ymm2        # 4024 <_sk_callback_hsw+0x307>
1930  DB  197,108,194,209,1                   ; vcmpltps      %ymm1,%ymm2,%ymm10
1931  DB  196,98,125,24,29,63,32,0,0          ; vbroadcastss  0x203f(%rip),%ymm11        # 4028 <_sk_callback_hsw+0x30b>
1932  DB  196,65,60,88,195                    ; vaddps        %ymm11,%ymm8,%ymm8
1933  DB  196,98,125,24,37,53,32,0,0          ; vbroadcastss  0x2035(%rip),%ymm12        # 402c <_sk_callback_hsw+0x30f>
1934  DB  196,65,60,89,196                    ; vmulps        %ymm12,%ymm8,%ymm8
1935  DB  196,99,61,74,193,160                ; vblendvps     %ymm10,%ymm1,%ymm8,%ymm8
1936  DB  197,252,89,200                      ; vmulps        %ymm0,%ymm0,%ymm1
1937  DB  197,252,89,201                      ; vmulps        %ymm1,%ymm0,%ymm1
1938  DB  197,108,194,209,1                   ; vcmpltps      %ymm1,%ymm2,%ymm10
1939  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
1940  DB  196,193,124,89,196                  ; vmulps        %ymm12,%ymm0,%ymm0
1941  DB  196,227,125,74,201,160              ; vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
1942  DB  196,193,52,89,193                   ; vmulps        %ymm9,%ymm9,%ymm0
1943  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
1944  DB  197,236,194,208,1                   ; vcmpltps      %ymm0,%ymm2,%ymm2
1945  DB  196,65,52,88,203                    ; vaddps        %ymm11,%ymm9,%ymm9
1946  DB  196,65,52,89,204                    ; vmulps        %ymm12,%ymm9,%ymm9
1947  DB  196,227,53,74,208,32                ; vblendvps     %ymm2,%ymm0,%ymm9,%ymm2
1948  DB  196,226,125,24,5,234,31,0,0         ; vbroadcastss  0x1fea(%rip),%ymm0        # 4030 <_sk_callback_hsw+0x313>
1949  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
1950  DB  196,98,125,24,5,225,31,0,0          ; vbroadcastss  0x1fe1(%rip),%ymm8        # 4034 <_sk_callback_hsw+0x317>
1951  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
1952  DB  72,173                              ; lods          %ds:(%rsi),%rax
1953  DB  255,224                             ; jmpq          *%rax
1954
1955PUBLIC _sk_load_a8_hsw
1956_sk_load_a8_hsw LABEL PROC
1957  DB  73,137,200                          ; mov           %rcx,%r8
1958  DB  72,173                              ; lods          %ds:(%rsi),%rax
1959  DB  72,139,0                            ; mov           (%rax),%rax
1960  DB  72,1,248                            ; add           %rdi,%rax
1961  DB  77,133,192                          ; test          %r8,%r8
1962  DB  117,45                              ; jne           2099 <_sk_load_a8_hsw+0x3d>
1963  DB  197,250,126,0                       ; vmovq         (%rax),%xmm0
1964  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
1965  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
1966  DB  196,226,125,24,13,182,31,0,0        ; vbroadcastss  0x1fb6(%rip),%ymm1        # 4038 <_sk_callback_hsw+0x31b>
1967  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
1968  DB  72,173                              ; lods          %ds:(%rsi),%rax
1969  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
1970  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
1971  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
1972  DB  76,137,193                          ; mov           %r8,%rcx
1973  DB  255,224                             ; jmpq          *%rax
1974  DB  49,201                              ; xor           %ecx,%ecx
1975  DB  77,137,194                          ; mov           %r8,%r10
1976  DB  69,49,201                           ; xor           %r9d,%r9d
1977  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
1978  DB  72,255,192                          ; inc           %rax
1979  DB  73,211,227                          ; shl           %cl,%r11
1980  DB  77,9,217                            ; or            %r11,%r9
1981  DB  72,131,193,8                        ; add           $0x8,%rcx
1982  DB  73,255,202                          ; dec           %r10
1983  DB  117,234                             ; jne           20a1 <_sk_load_a8_hsw+0x45>
1984  DB  196,193,249,110,193                 ; vmovq         %r9,%xmm0
1985  DB  235,178                             ; jmp           2070 <_sk_load_a8_hsw+0x14>
1986
1987PUBLIC _sk_gather_a8_hsw
1988_sk_gather_a8_hsw LABEL PROC
1989  DB  65,87                               ; push          %r15
1990  DB  65,86                               ; push          %r14
1991  DB  65,84                               ; push          %r12
1992  DB  83                                  ; push          %rbx
1993  DB  72,173                              ; lods          %ds:(%rsi),%rax
1994  DB  76,139,0                            ; mov           (%rax),%r8
1995  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
1996  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
1997  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
1998  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
1999  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
2000  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
2001  DB  65,137,193                          ; mov           %eax,%r9d
2002  DB  72,193,232,32                       ; shr           $0x20,%rax
2003  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
2004  DB  69,137,211                          ; mov           %r10d,%r11d
2005  DB  73,193,234,32                       ; shr           $0x20,%r10
2006  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
2007  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
2008  DB  65,137,222                          ; mov           %ebx,%r14d
2009  DB  72,193,235,32                       ; shr           $0x20,%rbx
2010  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
2011  DB  69,137,252                          ; mov           %r15d,%r12d
2012  DB  73,193,239,32                       ; shr           $0x20,%r15
2013  DB  196,131,121,32,4,24,0               ; vpinsrb       $0x0,(%r8,%r11,1),%xmm0,%xmm0
2014  DB  196,131,121,32,4,16,1               ; vpinsrb       $0x1,(%r8,%r10,1),%xmm0,%xmm0
2015  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
2016  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
2017  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
2018  DB  196,227,121,32,192,3                ; vpinsrb       $0x3,%eax,%xmm0,%xmm0
2019  DB  67,15,182,4,32                      ; movzbl        (%r8,%r12,1),%eax
2020  DB  196,227,121,32,192,4                ; vpinsrb       $0x4,%eax,%xmm0,%xmm0
2021  DB  67,15,182,4,56                      ; movzbl        (%r8,%r15,1),%eax
2022  DB  196,227,121,32,192,5                ; vpinsrb       $0x5,%eax,%xmm0,%xmm0
2023  DB  67,15,182,4,48                      ; movzbl        (%r8,%r14,1),%eax
2024  DB  196,227,121,32,192,6                ; vpinsrb       $0x6,%eax,%xmm0,%xmm0
2025  DB  65,15,182,4,24                      ; movzbl        (%r8,%rbx,1),%eax
2026  DB  196,227,121,32,192,7                ; vpinsrb       $0x7,%eax,%xmm0,%xmm0
2027  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
2028  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2029  DB  196,226,125,24,13,193,30,0,0        ; vbroadcastss  0x1ec1(%rip),%ymm1        # 403c <_sk_callback_hsw+0x31f>
2030  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
2031  DB  72,173                              ; lods          %ds:(%rsi),%rax
2032  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
2033  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
2034  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
2035  DB  91                                  ; pop           %rbx
2036  DB  65,92                               ; pop           %r12
2037  DB  65,94                               ; pop           %r14
2038  DB  65,95                               ; pop           %r15
2039  DB  255,224                             ; jmpq          *%rax
2040
2041PUBLIC _sk_store_a8_hsw
2042_sk_store_a8_hsw LABEL PROC
2043  DB  72,173                              ; lods          %ds:(%rsi),%rax
2044  DB  76,139,16                           ; mov           (%rax),%r10
2045  DB  196,98,125,24,5,156,30,0,0          ; vbroadcastss  0x1e9c(%rip),%ymm8        # 4040 <_sk_callback_hsw+0x323>
2046  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
2047  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
2048  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
2049  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
2050  DB  196,65,57,103,192                   ; vpackuswb     %xmm8,%xmm8,%xmm8
2051  DB  72,133,201                          ; test          %rcx,%rcx
2052  DB  117,10                              ; jne           21cd <_sk_store_a8_hsw+0x37>
2053  DB  196,65,123,17,4,58                  ; vmovsd        %xmm8,(%r10,%rdi,1)
2054  DB  72,173                              ; lods          %ds:(%rsi),%rax
2055  DB  255,224                             ; jmpq          *%rax
2056  DB  65,137,200                          ; mov           %ecx,%r8d
2057  DB  65,128,224,7                        ; and           $0x7,%r8b
2058  DB  65,254,200                          ; dec           %r8b
2059  DB  65,128,248,6                        ; cmp           $0x6,%r8b
2060  DB  119,236                             ; ja            21c9 <_sk_store_a8_hsw+0x33>
2061  DB  196,66,121,48,192                   ; vpmovzxbw     %xmm8,%xmm8
2062  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
2063  DB  76,141,13,67,0,0,0                  ; lea           0x43(%rip),%r9        # 2230 <_sk_store_a8_hsw+0x9a>
2064  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
2065  DB  76,1,200                            ; add           %r9,%rax
2066  DB  255,224                             ; jmpq          *%rax
2067  DB  196,67,121,20,68,58,6,12            ; vpextrb       $0xc,%xmm8,0x6(%r10,%rdi,1)
2068  DB  196,67,121,20,68,58,5,10            ; vpextrb       $0xa,%xmm8,0x5(%r10,%rdi,1)
2069  DB  196,67,121,20,68,58,4,8             ; vpextrb       $0x8,%xmm8,0x4(%r10,%rdi,1)
2070  DB  196,67,121,20,68,58,3,6             ; vpextrb       $0x6,%xmm8,0x3(%r10,%rdi,1)
2071  DB  196,67,121,20,68,58,2,4             ; vpextrb       $0x4,%xmm8,0x2(%r10,%rdi,1)
2072  DB  196,67,121,20,68,58,1,2             ; vpextrb       $0x2,%xmm8,0x1(%r10,%rdi,1)
2073  DB  196,67,121,20,4,58,0                ; vpextrb       $0x0,%xmm8,(%r10,%rdi,1)
2074  DB  235,154                             ; jmp           21c9 <_sk_store_a8_hsw+0x33>
2075  DB  144                                 ; nop
2076  DB  246,255                             ; idiv          %bh
2077  DB  255                                 ; (bad)
2078  DB  255                                 ; (bad)
2079  DB  238                                 ; out           %al,(%dx)
2080  DB  255                                 ; (bad)
2081  DB  255                                 ; (bad)
2082  DB  255,230                             ; jmpq          *%rsi
2083  DB  255                                 ; (bad)
2084  DB  255                                 ; (bad)
2085  DB  255                                 ; (bad)
2086  DB  222,255                             ; fdivrp        %st,%st(7)
2087  DB  255                                 ; (bad)
2088  DB  255,214                             ; callq         *%rsi
2089  DB  255                                 ; (bad)
2090  DB  255                                 ; (bad)
2091  DB  255,206                             ; dec           %esi
2092  DB  255                                 ; (bad)
2093  DB  255                                 ; (bad)
2094  DB  255,198                             ; inc           %esi
2095  DB  255                                 ; (bad)
2096  DB  255                                 ; (bad)
2097  DB  255                                 ; .byte         0xff
2098
2099PUBLIC _sk_load_g8_hsw
2100_sk_load_g8_hsw LABEL PROC
2101  DB  73,137,200                          ; mov           %rcx,%r8
2102  DB  72,173                              ; lods          %ds:(%rsi),%rax
2103  DB  72,139,0                            ; mov           (%rax),%rax
2104  DB  72,1,248                            ; add           %rdi,%rax
2105  DB  77,133,192                          ; test          %r8,%r8
2106  DB  117,50                              ; jne           228e <_sk_load_g8_hsw+0x42>
2107  DB  197,250,126,0                       ; vmovq         (%rax),%xmm0
2108  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
2109  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2110  DB  196,226,125,24,13,210,29,0,0        ; vbroadcastss  0x1dd2(%rip),%ymm1        # 4044 <_sk_callback_hsw+0x327>
2111  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
2112  DB  72,173                              ; lods          %ds:(%rsi),%rax
2113  DB  196,226,125,24,29,199,29,0,0        ; vbroadcastss  0x1dc7(%rip),%ymm3        # 4048 <_sk_callback_hsw+0x32b>
2114  DB  76,137,193                          ; mov           %r8,%rcx
2115  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
2116  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
2117  DB  255,224                             ; jmpq          *%rax
2118  DB  49,201                              ; xor           %ecx,%ecx
2119  DB  77,137,194                          ; mov           %r8,%r10
2120  DB  69,49,201                           ; xor           %r9d,%r9d
2121  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
2122  DB  72,255,192                          ; inc           %rax
2123  DB  73,211,227                          ; shl           %cl,%r11
2124  DB  77,9,217                            ; or            %r11,%r9
2125  DB  72,131,193,8                        ; add           $0x8,%rcx
2126  DB  73,255,202                          ; dec           %r10
2127  DB  117,234                             ; jne           2296 <_sk_load_g8_hsw+0x4a>
2128  DB  196,193,249,110,193                 ; vmovq         %r9,%xmm0
2129  DB  235,173                             ; jmp           2260 <_sk_load_g8_hsw+0x14>
2130
2131PUBLIC _sk_gather_g8_hsw
2132_sk_gather_g8_hsw LABEL PROC
2133  DB  65,87                               ; push          %r15
2134  DB  65,86                               ; push          %r14
2135  DB  65,84                               ; push          %r12
2136  DB  83                                  ; push          %rbx
2137  DB  72,173                              ; lods          %ds:(%rsi),%rax
2138  DB  76,139,0                            ; mov           (%rax),%r8
2139  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
2140  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
2141  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
2142  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
2143  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
2144  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
2145  DB  65,137,193                          ; mov           %eax,%r9d
2146  DB  72,193,232,32                       ; shr           $0x20,%rax
2147  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
2148  DB  69,137,211                          ; mov           %r10d,%r11d
2149  DB  73,193,234,32                       ; shr           $0x20,%r10
2150  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
2151  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
2152  DB  65,137,222                          ; mov           %ebx,%r14d
2153  DB  72,193,235,32                       ; shr           $0x20,%rbx
2154  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
2155  DB  69,137,252                          ; mov           %r15d,%r12d
2156  DB  73,193,239,32                       ; shr           $0x20,%r15
2157  DB  196,131,121,32,4,24,0               ; vpinsrb       $0x0,(%r8,%r11,1),%xmm0,%xmm0
2158  DB  196,131,121,32,4,16,1               ; vpinsrb       $0x1,(%r8,%r10,1),%xmm0,%xmm0
2159  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
2160  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
2161  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
2162  DB  196,227,121,32,192,3                ; vpinsrb       $0x3,%eax,%xmm0,%xmm0
2163  DB  67,15,182,4,32                      ; movzbl        (%r8,%r12,1),%eax
2164  DB  196,227,121,32,192,4                ; vpinsrb       $0x4,%eax,%xmm0,%xmm0
2165  DB  67,15,182,4,56                      ; movzbl        (%r8,%r15,1),%eax
2166  DB  196,227,121,32,192,5                ; vpinsrb       $0x5,%eax,%xmm0,%xmm0
2167  DB  67,15,182,4,48                      ; movzbl        (%r8,%r14,1),%eax
2168  DB  196,227,121,32,192,6                ; vpinsrb       $0x6,%eax,%xmm0,%xmm0
2169  DB  65,15,182,4,24                      ; movzbl        (%r8,%rbx,1),%eax
2170  DB  196,227,121,32,192,7                ; vpinsrb       $0x7,%eax,%xmm0,%xmm0
2171  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
2172  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2173  DB  196,226,125,24,13,220,28,0,0        ; vbroadcastss  0x1cdc(%rip),%ymm1        # 404c <_sk_callback_hsw+0x32f>
2174  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
2175  DB  72,173                              ; lods          %ds:(%rsi),%rax
2176  DB  196,226,125,24,29,209,28,0,0        ; vbroadcastss  0x1cd1(%rip),%ymm3        # 4050 <_sk_callback_hsw+0x333>
2177  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
2178  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
2179  DB  91                                  ; pop           %rbx
2180  DB  65,92                               ; pop           %r12
2181  DB  65,94                               ; pop           %r14
2182  DB  65,95                               ; pop           %r15
2183  DB  255,224                             ; jmpq          *%rax
2184
2185PUBLIC _sk_gather_i8_hsw
2186_sk_gather_i8_hsw LABEL PROC
2187  DB  72,173                              ; lods          %ds:(%rsi),%rax
2188  DB  73,137,192                          ; mov           %rax,%r8
2189  DB  77,133,192                          ; test          %r8,%r8
2190  DB  116,5                               ; je            239f <_sk_gather_i8_hsw+0xf>
2191  DB  76,137,192                          ; mov           %r8,%rax
2192  DB  235,2                               ; jmp           23a1 <_sk_gather_i8_hsw+0x11>
2193  DB  72,173                              ; lods          %ds:(%rsi),%rax
2194  DB  65,87                               ; push          %r15
2195  DB  65,86                               ; push          %r14
2196  DB  65,85                               ; push          %r13
2197  DB  65,84                               ; push          %r12
2198  DB  83                                  ; push          %rbx
2199  DB  76,139,8                            ; mov           (%rax),%r9
2200  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
2201  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
2202  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
2203  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
2204  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
2205  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
2206  DB  65,137,194                          ; mov           %eax,%r10d
2207  DB  72,193,232,32                       ; shr           $0x20,%rax
2208  DB  196,193,249,126,195                 ; vmovq         %xmm0,%r11
2209  DB  69,137,222                          ; mov           %r11d,%r14d
2210  DB  73,193,235,32                       ; shr           $0x20,%r11
2211  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
2212  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
2213  DB  65,137,223                          ; mov           %ebx,%r15d
2214  DB  72,193,235,32                       ; shr           $0x20,%rbx
2215  DB  196,193,249,126,196                 ; vmovq         %xmm0,%r12
2216  DB  69,137,229                          ; mov           %r12d,%r13d
2217  DB  73,193,236,32                       ; shr           $0x20,%r12
2218  DB  196,131,121,32,4,49,0               ; vpinsrb       $0x0,(%r9,%r14,1),%xmm0,%xmm0
2219  DB  196,131,121,32,4,25,1               ; vpinsrb       $0x1,(%r9,%r11,1),%xmm0,%xmm0
2220  DB  196,131,121,32,4,17,2               ; vpinsrb       $0x2,(%r9,%r10,1),%xmm0,%xmm0
2221  DB  196,195,121,32,4,1,3                ; vpinsrb       $0x3,(%r9,%rax,1),%xmm0,%xmm0
2222  DB  196,131,121,32,4,41,4               ; vpinsrb       $0x4,(%r9,%r13,1),%xmm0,%xmm0
2223  DB  196,131,121,32,4,33,5               ; vpinsrb       $0x5,(%r9,%r12,1),%xmm0,%xmm0
2224  DB  196,131,121,32,4,57,6               ; vpinsrb       $0x6,(%r9,%r15,1),%xmm0,%xmm0
2225  DB  196,195,121,32,4,25,7               ; vpinsrb       $0x7,(%r9,%rbx,1),%xmm0,%xmm0
2226  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
2227  DB  73,139,64,8                         ; mov           0x8(%r8),%rax
2228  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
2229  DB  196,226,117,144,28,128              ; vpgatherdd    %ymm1,(%rax,%ymm0,4),%ymm3
2230  DB  197,229,219,5,241,29,0,0            ; vpand         0x1df1(%rip),%ymm3,%ymm0        # 4240 <_sk_callback_hsw+0x523>
2231  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2232  DB  196,98,125,24,5,248,27,0,0          ; vbroadcastss  0x1bf8(%rip),%ymm8        # 4054 <_sk_callback_hsw+0x337>
2233  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
2234  DB  196,226,101,0,13,246,29,0,0         ; vpshufb       0x1df6(%rip),%ymm3,%ymm1        # 4260 <_sk_callback_hsw+0x543>
2235  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2236  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
2237  DB  196,226,101,0,21,4,30,0,0           ; vpshufb       0x1e04(%rip),%ymm3,%ymm2        # 4280 <_sk_callback_hsw+0x563>
2238  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2239  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
2240  DB  197,229,114,211,24                  ; vpsrld        $0x18,%ymm3,%ymm3
2241  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
2242  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
2243  DB  72,173                              ; lods          %ds:(%rsi),%rax
2244  DB  91                                  ; pop           %rbx
2245  DB  65,92                               ; pop           %r12
2246  DB  65,93                               ; pop           %r13
2247  DB  65,94                               ; pop           %r14
2248  DB  65,95                               ; pop           %r15
2249  DB  255,224                             ; jmpq          *%rax
2250
2251PUBLIC _sk_load_565_hsw
2252_sk_load_565_hsw LABEL PROC
2253  DB  72,173                              ; lods          %ds:(%rsi),%rax
2254  DB  76,139,16                           ; mov           (%rax),%r10
2255  DB  72,133,201                          ; test          %rcx,%rcx
2256  DB  117,114                             ; jne           251c <_sk_load_565_hsw+0x7c>
2257  DB  196,193,122,111,4,122               ; vmovdqu       (%r10,%rdi,2),%xmm0
2258  DB  196,226,125,51,208                  ; vpmovzxwd     %xmm0,%ymm2
2259  DB  196,226,125,88,5,154,27,0,0         ; vpbroadcastd  0x1b9a(%rip),%ymm0        # 4058 <_sk_callback_hsw+0x33b>
2260  DB  197,237,219,192                     ; vpand         %ymm0,%ymm2,%ymm0
2261  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2262  DB  196,226,125,24,13,141,27,0,0        ; vbroadcastss  0x1b8d(%rip),%ymm1        # 405c <_sk_callback_hsw+0x33f>
2263  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
2264  DB  196,226,125,88,13,132,27,0,0        ; vpbroadcastd  0x1b84(%rip),%ymm1        # 4060 <_sk_callback_hsw+0x343>
2265  DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
2266  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2267  DB  196,226,125,24,29,119,27,0,0        ; vbroadcastss  0x1b77(%rip),%ymm3        # 4064 <_sk_callback_hsw+0x347>
2268  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
2269  DB  196,226,125,88,29,110,27,0,0        ; vpbroadcastd  0x1b6e(%rip),%ymm3        # 4068 <_sk_callback_hsw+0x34b>
2270  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
2271  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2272  DB  196,226,125,24,29,97,27,0,0         ; vbroadcastss  0x1b61(%rip),%ymm3        # 406c <_sk_callback_hsw+0x34f>
2273  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
2274  DB  72,173                              ; lods          %ds:(%rsi),%rax
2275  DB  196,226,125,24,29,86,27,0,0         ; vbroadcastss  0x1b56(%rip),%ymm3        # 4070 <_sk_callback_hsw+0x353>
2276  DB  255,224                             ; jmpq          *%rax
2277  DB  65,137,200                          ; mov           %ecx,%r8d
2278  DB  65,128,224,7                        ; and           $0x7,%r8b
2279  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
2280  DB  65,254,200                          ; dec           %r8b
2281  DB  65,128,248,6                        ; cmp           $0x6,%r8b
2282  DB  119,128                             ; ja            24b0 <_sk_load_565_hsw+0x10>
2283  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
2284  DB  76,141,13,73,0,0,0                  ; lea           0x49(%rip),%r9        # 2584 <_sk_load_565_hsw+0xe4>
2285  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
2286  DB  76,1,200                            ; add           %r9,%rax
2287  DB  255,224                             ; jmpq          *%rax
2288  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
2289  DB  196,193,121,196,68,122,12,6         ; vpinsrw       $0x6,0xc(%r10,%rdi,2),%xmm0,%xmm0
2290  DB  196,193,121,196,68,122,10,5         ; vpinsrw       $0x5,0xa(%r10,%rdi,2),%xmm0,%xmm0
2291  DB  196,193,121,196,68,122,8,4          ; vpinsrw       $0x4,0x8(%r10,%rdi,2),%xmm0,%xmm0
2292  DB  196,193,121,196,68,122,6,3          ; vpinsrw       $0x3,0x6(%r10,%rdi,2),%xmm0,%xmm0
2293  DB  196,193,121,196,68,122,4,2          ; vpinsrw       $0x2,0x4(%r10,%rdi,2),%xmm0,%xmm0
2294  DB  196,193,121,196,68,122,2,1          ; vpinsrw       $0x1,0x2(%r10,%rdi,2),%xmm0,%xmm0
2295  DB  196,193,121,196,4,122,0             ; vpinsrw       $0x0,(%r10,%rdi,2),%xmm0,%xmm0
2296  DB  233,44,255,255,255                  ; jmpq          24b0 <_sk_load_565_hsw+0x10>
2297  DB  244                                 ; hlt
2298  DB  255                                 ; (bad)
2299  DB  255                                 ; (bad)
2300  DB  255                                 ; (bad)
2301  DB  236                                 ; in            (%dx),%al
2302  DB  255                                 ; (bad)
2303  DB  255                                 ; (bad)
2304  DB  255,228                             ; jmpq          *%rsp
2305  DB  255                                 ; (bad)
2306  DB  255                                 ; (bad)
2307  DB  255                                 ; (bad)
2308  DB  220,255                             ; fdivr         %st,%st(7)
2309  DB  255                                 ; (bad)
2310  DB  255,212                             ; callq         *%rsp
2311  DB  255                                 ; (bad)
2312  DB  255                                 ; (bad)
2313  DB  255,204                             ; dec           %esp
2314  DB  255                                 ; (bad)
2315  DB  255                                 ; (bad)
2316  DB  255,192                             ; inc           %eax
2317  DB  255                                 ; (bad)
2318  DB  255                                 ; (bad)
2319  DB  255                                 ; .byte         0xff
2320
2321PUBLIC _sk_gather_565_hsw
2322_sk_gather_565_hsw LABEL PROC
2323  DB  65,87                               ; push          %r15
2324  DB  65,86                               ; push          %r14
2325  DB  65,84                               ; push          %r12
2326  DB  83                                  ; push          %rbx
2327  DB  72,173                              ; lods          %ds:(%rsi),%rax
2328  DB  76,139,0                            ; mov           (%rax),%r8
2329  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
2330  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
2331  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
2332  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
2333  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
2334  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
2335  DB  65,137,193                          ; mov           %eax,%r9d
2336  DB  72,193,232,32                       ; shr           $0x20,%rax
2337  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
2338  DB  69,137,211                          ; mov           %r10d,%r11d
2339  DB  73,193,234,32                       ; shr           $0x20,%r10
2340  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
2341  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
2342  DB  65,137,222                          ; mov           %ebx,%r14d
2343  DB  72,193,235,32                       ; shr           $0x20,%rbx
2344  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
2345  DB  69,137,252                          ; mov           %r15d,%r12d
2346  DB  73,193,239,32                       ; shr           $0x20,%r15
2347  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
2348  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
2349  DB  196,193,121,110,195                 ; vmovd         %r11d,%xmm0
2350  DB  196,193,121,196,194,1               ; vpinsrw       $0x1,%r10d,%xmm0,%xmm0
2351  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
2352  DB  196,193,121,196,193,2               ; vpinsrw       $0x2,%r9d,%xmm0,%xmm0
2353  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
2354  DB  197,249,196,192,3                   ; vpinsrw       $0x3,%eax,%xmm0,%xmm0
2355  DB  67,15,183,4,96                      ; movzwl        (%r8,%r12,2),%eax
2356  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
2357  DB  67,15,183,4,120                     ; movzwl        (%r8,%r15,2),%eax
2358  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
2359  DB  67,15,183,4,112                     ; movzwl        (%r8,%r14,2),%eax
2360  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
2361  DB  65,15,183,4,88                      ; movzwl        (%r8,%rbx,2),%eax
2362  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
2363  DB  196,226,125,51,208                  ; vpmovzxwd     %xmm0,%ymm2
2364  DB  196,226,125,88,5,25,26,0,0          ; vpbroadcastd  0x1a19(%rip),%ymm0        # 4074 <_sk_callback_hsw+0x357>
2365  DB  197,237,219,192                     ; vpand         %ymm0,%ymm2,%ymm0
2366  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2367  DB  196,226,125,24,13,12,26,0,0         ; vbroadcastss  0x1a0c(%rip),%ymm1        # 4078 <_sk_callback_hsw+0x35b>
2368  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
2369  DB  196,226,125,88,13,3,26,0,0          ; vpbroadcastd  0x1a03(%rip),%ymm1        # 407c <_sk_callback_hsw+0x35f>
2370  DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
2371  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2372  DB  196,226,125,24,29,246,25,0,0        ; vbroadcastss  0x19f6(%rip),%ymm3        # 4080 <_sk_callback_hsw+0x363>
2373  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
2374  DB  196,226,125,88,29,237,25,0,0        ; vpbroadcastd  0x19ed(%rip),%ymm3        # 4084 <_sk_callback_hsw+0x367>
2375  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
2376  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2377  DB  196,226,125,24,29,224,25,0,0        ; vbroadcastss  0x19e0(%rip),%ymm3        # 4088 <_sk_callback_hsw+0x36b>
2378  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
2379  DB  72,173                              ; lods          %ds:(%rsi),%rax
2380  DB  196,226,125,24,29,213,25,0,0        ; vbroadcastss  0x19d5(%rip),%ymm3        # 408c <_sk_callback_hsw+0x36f>
2381  DB  91                                  ; pop           %rbx
2382  DB  65,92                               ; pop           %r12
2383  DB  65,94                               ; pop           %r14
2384  DB  65,95                               ; pop           %r15
2385  DB  255,224                             ; jmpq          *%rax
2386
2387PUBLIC _sk_store_565_hsw
2388_sk_store_565_hsw LABEL PROC
2389  DB  72,173                              ; lods          %ds:(%rsi),%rax
2390  DB  76,139,16                           ; mov           (%rax),%r10
2391  DB  196,98,125,24,5,194,25,0,0          ; vbroadcastss  0x19c2(%rip),%ymm8        # 4090 <_sk_callback_hsw+0x373>
2392  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
2393  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
2394  DB  196,193,53,114,241,11               ; vpslld        $0xb,%ymm9,%ymm9
2395  DB  196,98,125,24,21,173,25,0,0         ; vbroadcastss  0x19ad(%rip),%ymm10        # 4094 <_sk_callback_hsw+0x377>
2396  DB  196,65,116,89,210                   ; vmulps        %ymm10,%ymm1,%ymm10
2397  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
2398  DB  196,193,45,114,242,5                ; vpslld        $0x5,%ymm10,%ymm10
2399  DB  196,65,45,235,201                   ; vpor          %ymm9,%ymm10,%ymm9
2400  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
2401  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
2402  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
2403  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
2404  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
2405  DB  72,133,201                          ; test          %rcx,%rcx
2406  DB  117,10                              ; jne           2725 <_sk_store_565_hsw+0x65>
2407  DB  196,65,122,127,4,122                ; vmovdqu       %xmm8,(%r10,%rdi,2)
2408  DB  72,173                              ; lods          %ds:(%rsi),%rax
2409  DB  255,224                             ; jmpq          *%rax
2410  DB  65,137,200                          ; mov           %ecx,%r8d
2411  DB  65,128,224,7                        ; and           $0x7,%r8b
2412  DB  65,254,200                          ; dec           %r8b
2413  DB  65,128,248,6                        ; cmp           $0x6,%r8b
2414  DB  119,236                             ; ja            2721 <_sk_store_565_hsw+0x61>
2415  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
2416  DB  76,141,13,68,0,0,0                  ; lea           0x44(%rip),%r9        # 2784 <_sk_store_565_hsw+0xc4>
2417  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
2418  DB  76,1,200                            ; add           %r9,%rax
2419  DB  255,224                             ; jmpq          *%rax
2420  DB  196,67,121,21,68,122,12,6           ; vpextrw       $0x6,%xmm8,0xc(%r10,%rdi,2)
2421  DB  196,67,121,21,68,122,10,5           ; vpextrw       $0x5,%xmm8,0xa(%r10,%rdi,2)
2422  DB  196,67,121,21,68,122,8,4            ; vpextrw       $0x4,%xmm8,0x8(%r10,%rdi,2)
2423  DB  196,67,121,21,68,122,6,3            ; vpextrw       $0x3,%xmm8,0x6(%r10,%rdi,2)
2424  DB  196,67,121,21,68,122,4,2            ; vpextrw       $0x2,%xmm8,0x4(%r10,%rdi,2)
2425  DB  196,67,121,21,68,122,2,1            ; vpextrw       $0x1,%xmm8,0x2(%r10,%rdi,2)
2426  DB  196,67,121,21,4,122,0               ; vpextrw       $0x0,%xmm8,(%r10,%rdi,2)
2427  DB  235,159                             ; jmp           2721 <_sk_store_565_hsw+0x61>
2428  DB  102,144                             ; xchg          %ax,%ax
2429  DB  245                                 ; cmc
2430  DB  255                                 ; (bad)
2431  DB  255                                 ; (bad)
2432  DB  255                                 ; (bad)
2433  DB  237                                 ; in            (%dx),%eax
2434  DB  255                                 ; (bad)
2435  DB  255                                 ; (bad)
2436  DB  255,229                             ; jmpq          *%rbp
2437  DB  255                                 ; (bad)
2438  DB  255                                 ; (bad)
2439  DB  255                                 ; (bad)
2440  DB  221,255                             ; (bad)
2441  DB  255                                 ; (bad)
2442  DB  255,213                             ; callq         *%rbp
2443  DB  255                                 ; (bad)
2444  DB  255                                 ; (bad)
2445  DB  255,205                             ; dec           %ebp
2446  DB  255                                 ; (bad)
2447  DB  255                                 ; (bad)
2448  DB  255,197                             ; inc           %ebp
2449  DB  255                                 ; (bad)
2450  DB  255                                 ; (bad)
2451  DB  255                                 ; .byte         0xff
2452
2453PUBLIC _sk_load_4444_hsw
2454_sk_load_4444_hsw LABEL PROC
2455  DB  72,173                              ; lods          %ds:(%rsi),%rax
2456  DB  76,139,16                           ; mov           (%rax),%r10
2457  DB  72,133,201                          ; test          %rcx,%rcx
2458  DB  15,133,138,0,0,0                    ; jne           2838 <_sk_load_4444_hsw+0x98>
2459  DB  196,193,122,111,4,122               ; vmovdqu       (%r10,%rdi,2),%xmm0
2460  DB  196,226,125,51,216                  ; vpmovzxwd     %xmm0,%ymm3
2461  DB  196,226,125,88,5,214,24,0,0         ; vpbroadcastd  0x18d6(%rip),%ymm0        # 4098 <_sk_callback_hsw+0x37b>
2462  DB  197,229,219,192                     ; vpand         %ymm0,%ymm3,%ymm0
2463  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2464  DB  196,226,125,24,13,201,24,0,0        ; vbroadcastss  0x18c9(%rip),%ymm1        # 409c <_sk_callback_hsw+0x37f>
2465  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
2466  DB  196,226,125,88,13,192,24,0,0        ; vpbroadcastd  0x18c0(%rip),%ymm1        # 40a0 <_sk_callback_hsw+0x383>
2467  DB  197,229,219,201                     ; vpand         %ymm1,%ymm3,%ymm1
2468  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2469  DB  196,226,125,24,21,179,24,0,0        ; vbroadcastss  0x18b3(%rip),%ymm2        # 40a4 <_sk_callback_hsw+0x387>
2470  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
2471  DB  196,226,125,88,21,170,24,0,0        ; vpbroadcastd  0x18aa(%rip),%ymm2        # 40a8 <_sk_callback_hsw+0x38b>
2472  DB  197,229,219,210                     ; vpand         %ymm2,%ymm3,%ymm2
2473  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2474  DB  196,98,125,24,5,157,24,0,0          ; vbroadcastss  0x189d(%rip),%ymm8        # 40ac <_sk_callback_hsw+0x38f>
2475  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
2476  DB  196,98,125,88,5,147,24,0,0          ; vpbroadcastd  0x1893(%rip),%ymm8        # 40b0 <_sk_callback_hsw+0x393>
2477  DB  196,193,101,219,216                 ; vpand         %ymm8,%ymm3,%ymm3
2478  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
2479  DB  196,98,125,24,5,133,24,0,0          ; vbroadcastss  0x1885(%rip),%ymm8        # 40b4 <_sk_callback_hsw+0x397>
2480  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
2481  DB  72,173                              ; lods          %ds:(%rsi),%rax
2482  DB  255,224                             ; jmpq          *%rax
2483  DB  65,137,200                          ; mov           %ecx,%r8d
2484  DB  65,128,224,7                        ; and           $0x7,%r8b
2485  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
2486  DB  65,254,200                          ; dec           %r8b
2487  DB  65,128,248,6                        ; cmp           $0x6,%r8b
2488  DB  15,135,100,255,255,255              ; ja            27b4 <_sk_load_4444_hsw+0x14>
2489  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
2490  DB  76,141,13,73,0,0,0                  ; lea           0x49(%rip),%r9        # 28a4 <_sk_load_4444_hsw+0x104>
2491  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
2492  DB  76,1,200                            ; add           %r9,%rax
2493  DB  255,224                             ; jmpq          *%rax
2494  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
2495  DB  196,193,121,196,68,122,12,6         ; vpinsrw       $0x6,0xc(%r10,%rdi,2),%xmm0,%xmm0
2496  DB  196,193,121,196,68,122,10,5         ; vpinsrw       $0x5,0xa(%r10,%rdi,2),%xmm0,%xmm0
2497  DB  196,193,121,196,68,122,8,4          ; vpinsrw       $0x4,0x8(%r10,%rdi,2),%xmm0,%xmm0
2498  DB  196,193,121,196,68,122,6,3          ; vpinsrw       $0x3,0x6(%r10,%rdi,2),%xmm0,%xmm0
2499  DB  196,193,121,196,68,122,4,2          ; vpinsrw       $0x2,0x4(%r10,%rdi,2),%xmm0,%xmm0
2500  DB  196,193,121,196,68,122,2,1          ; vpinsrw       $0x1,0x2(%r10,%rdi,2),%xmm0,%xmm0
2501  DB  196,193,121,196,4,122,0             ; vpinsrw       $0x0,(%r10,%rdi,2),%xmm0,%xmm0
2502  DB  233,16,255,255,255                  ; jmpq          27b4 <_sk_load_4444_hsw+0x14>
2503  DB  244                                 ; hlt
2504  DB  255                                 ; (bad)
2505  DB  255                                 ; (bad)
2506  DB  255                                 ; (bad)
2507  DB  236                                 ; in            (%dx),%al
2508  DB  255                                 ; (bad)
2509  DB  255                                 ; (bad)
2510  DB  255,228                             ; jmpq          *%rsp
2511  DB  255                                 ; (bad)
2512  DB  255                                 ; (bad)
2513  DB  255                                 ; (bad)
2514  DB  220,255                             ; fdivr         %st,%st(7)
2515  DB  255                                 ; (bad)
2516  DB  255,212                             ; callq         *%rsp
2517  DB  255                                 ; (bad)
2518  DB  255                                 ; (bad)
2519  DB  255,204                             ; dec           %esp
2520  DB  255                                 ; (bad)
2521  DB  255                                 ; (bad)
2522  DB  255,192                             ; inc           %eax
2523  DB  255                                 ; (bad)
2524  DB  255                                 ; (bad)
2525  DB  255                                 ; .byte         0xff
2526
2527PUBLIC _sk_gather_4444_hsw
2528_sk_gather_4444_hsw LABEL PROC
2529  DB  65,87                               ; push          %r15
2530  DB  65,86                               ; push          %r14
2531  DB  65,84                               ; push          %r12
2532  DB  83                                  ; push          %rbx
2533  DB  72,173                              ; lods          %ds:(%rsi),%rax
2534  DB  76,139,0                            ; mov           (%rax),%r8
2535  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
2536  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
2537  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
2538  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
2539  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
2540  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
2541  DB  65,137,193                          ; mov           %eax,%r9d
2542  DB  72,193,232,32                       ; shr           $0x20,%rax
2543  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
2544  DB  69,137,211                          ; mov           %r10d,%r11d
2545  DB  73,193,234,32                       ; shr           $0x20,%r10
2546  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
2547  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
2548  DB  65,137,222                          ; mov           %ebx,%r14d
2549  DB  72,193,235,32                       ; shr           $0x20,%rbx
2550  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
2551  DB  69,137,252                          ; mov           %r15d,%r12d
2552  DB  73,193,239,32                       ; shr           $0x20,%r15
2553  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
2554  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
2555  DB  196,193,121,110,195                 ; vmovd         %r11d,%xmm0
2556  DB  196,193,121,196,194,1               ; vpinsrw       $0x1,%r10d,%xmm0,%xmm0
2557  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
2558  DB  196,193,121,196,193,2               ; vpinsrw       $0x2,%r9d,%xmm0,%xmm0
2559  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
2560  DB  197,249,196,192,3                   ; vpinsrw       $0x3,%eax,%xmm0,%xmm0
2561  DB  67,15,183,4,96                      ; movzwl        (%r8,%r12,2),%eax
2562  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
2563  DB  67,15,183,4,120                     ; movzwl        (%r8,%r15,2),%eax
2564  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
2565  DB  67,15,183,4,112                     ; movzwl        (%r8,%r14,2),%eax
2566  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
2567  DB  65,15,183,4,88                      ; movzwl        (%r8,%rbx,2),%eax
2568  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
2569  DB  196,226,125,51,216                  ; vpmovzxwd     %xmm0,%ymm3
2570  DB  196,226,125,88,5,61,23,0,0          ; vpbroadcastd  0x173d(%rip),%ymm0        # 40b8 <_sk_callback_hsw+0x39b>
2571  DB  197,229,219,192                     ; vpand         %ymm0,%ymm3,%ymm0
2572  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2573  DB  196,226,125,24,13,48,23,0,0         ; vbroadcastss  0x1730(%rip),%ymm1        # 40bc <_sk_callback_hsw+0x39f>
2574  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
2575  DB  196,226,125,88,13,39,23,0,0         ; vpbroadcastd  0x1727(%rip),%ymm1        # 40c0 <_sk_callback_hsw+0x3a3>
2576  DB  197,229,219,201                     ; vpand         %ymm1,%ymm3,%ymm1
2577  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2578  DB  196,226,125,24,21,26,23,0,0         ; vbroadcastss  0x171a(%rip),%ymm2        # 40c4 <_sk_callback_hsw+0x3a7>
2579  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
2580  DB  196,226,125,88,21,17,23,0,0         ; vpbroadcastd  0x1711(%rip),%ymm2        # 40c8 <_sk_callback_hsw+0x3ab>
2581  DB  197,229,219,210                     ; vpand         %ymm2,%ymm3,%ymm2
2582  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2583  DB  196,98,125,24,5,4,23,0,0            ; vbroadcastss  0x1704(%rip),%ymm8        # 40cc <_sk_callback_hsw+0x3af>
2584  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
2585  DB  196,98,125,88,5,250,22,0,0          ; vpbroadcastd  0x16fa(%rip),%ymm8        # 40d0 <_sk_callback_hsw+0x3b3>
2586  DB  196,193,101,219,216                 ; vpand         %ymm8,%ymm3,%ymm3
2587  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
2588  DB  196,98,125,24,5,236,22,0,0          ; vbroadcastss  0x16ec(%rip),%ymm8        # 40d4 <_sk_callback_hsw+0x3b7>
2589  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
2590  DB  72,173                              ; lods          %ds:(%rsi),%rax
2591  DB  91                                  ; pop           %rbx
2592  DB  65,92                               ; pop           %r12
2593  DB  65,94                               ; pop           %r14
2594  DB  65,95                               ; pop           %r15
2595  DB  255,224                             ; jmpq          *%rax
2596
2597PUBLIC _sk_store_4444_hsw
2598_sk_store_4444_hsw LABEL PROC
2599  DB  72,173                              ; lods          %ds:(%rsi),%rax
2600  DB  76,139,16                           ; mov           (%rax),%r10
2601  DB  196,98,125,24,5,210,22,0,0          ; vbroadcastss  0x16d2(%rip),%ymm8        # 40d8 <_sk_callback_hsw+0x3bb>
2602  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
2603  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
2604  DB  196,193,53,114,241,12               ; vpslld        $0xc,%ymm9,%ymm9
2605  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
2606  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
2607  DB  196,193,45,114,242,8                ; vpslld        $0x8,%ymm10,%ymm10
2608  DB  196,65,45,235,201                   ; vpor          %ymm9,%ymm10,%ymm9
2609  DB  196,65,108,89,208                   ; vmulps        %ymm8,%ymm2,%ymm10
2610  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
2611  DB  196,193,45,114,242,4                ; vpslld        $0x4,%ymm10,%ymm10
2612  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
2613  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
2614  DB  196,65,45,235,192                   ; vpor          %ymm8,%ymm10,%ymm8
2615  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
2616  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
2617  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
2618  DB  72,133,201                          ; test          %rcx,%rcx
2619  DB  117,10                              ; jne           2a69 <_sk_store_4444_hsw+0x71>
2620  DB  196,65,122,127,4,122                ; vmovdqu       %xmm8,(%r10,%rdi,2)
2621  DB  72,173                              ; lods          %ds:(%rsi),%rax
2622  DB  255,224                             ; jmpq          *%rax
2623  DB  65,137,200                          ; mov           %ecx,%r8d
2624  DB  65,128,224,7                        ; and           $0x7,%r8b
2625  DB  65,254,200                          ; dec           %r8b
2626  DB  65,128,248,6                        ; cmp           $0x6,%r8b
2627  DB  119,236                             ; ja            2a65 <_sk_store_4444_hsw+0x6d>
2628  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
2629  DB  76,141,13,68,0,0,0                  ; lea           0x44(%rip),%r9        # 2ac8 <_sk_store_4444_hsw+0xd0>
2630  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
2631  DB  76,1,200                            ; add           %r9,%rax
2632  DB  255,224                             ; jmpq          *%rax
2633  DB  196,67,121,21,68,122,12,6           ; vpextrw       $0x6,%xmm8,0xc(%r10,%rdi,2)
2634  DB  196,67,121,21,68,122,10,5           ; vpextrw       $0x5,%xmm8,0xa(%r10,%rdi,2)
2635  DB  196,67,121,21,68,122,8,4            ; vpextrw       $0x4,%xmm8,0x8(%r10,%rdi,2)
2636  DB  196,67,121,21,68,122,6,3            ; vpextrw       $0x3,%xmm8,0x6(%r10,%rdi,2)
2637  DB  196,67,121,21,68,122,4,2            ; vpextrw       $0x2,%xmm8,0x4(%r10,%rdi,2)
2638  DB  196,67,121,21,68,122,2,1            ; vpextrw       $0x1,%xmm8,0x2(%r10,%rdi,2)
2639  DB  196,67,121,21,4,122,0               ; vpextrw       $0x0,%xmm8,(%r10,%rdi,2)
2640  DB  235,159                             ; jmp           2a65 <_sk_store_4444_hsw+0x6d>
2641  DB  102,144                             ; xchg          %ax,%ax
2642  DB  245                                 ; cmc
2643  DB  255                                 ; (bad)
2644  DB  255                                 ; (bad)
2645  DB  255                                 ; (bad)
2646  DB  237                                 ; in            (%dx),%eax
2647  DB  255                                 ; (bad)
2648  DB  255                                 ; (bad)
2649  DB  255,229                             ; jmpq          *%rbp
2650  DB  255                                 ; (bad)
2651  DB  255                                 ; (bad)
2652  DB  255                                 ; (bad)
2653  DB  221,255                             ; (bad)
2654  DB  255                                 ; (bad)
2655  DB  255,213                             ; callq         *%rbp
2656  DB  255                                 ; (bad)
2657  DB  255                                 ; (bad)
2658  DB  255,205                             ; dec           %ebp
2659  DB  255                                 ; (bad)
2660  DB  255                                 ; (bad)
2661  DB  255,197                             ; inc           %ebp
2662  DB  255                                 ; (bad)
2663  DB  255                                 ; (bad)
2664  DB  255                                 ; .byte         0xff
2665
2666PUBLIC _sk_load_8888_hsw
2667_sk_load_8888_hsw LABEL PROC
2668  DB  73,137,200                          ; mov           %rcx,%r8
2669  DB  72,173                              ; lods          %ds:(%rsi),%rax
2670  DB  76,141,12,189,0,0,0,0               ; lea           0x0(,%rdi,4),%r9
2671  DB  76,3,8                              ; add           (%rax),%r9
2672  DB  77,133,192                          ; test          %r8,%r8
2673  DB  117,88                              ; jne           2b51 <_sk_load_8888_hsw+0x6d>
2674  DB  196,193,126,111,25                  ; vmovdqu       (%r9),%ymm3
2675  DB  197,229,219,5,154,23,0,0            ; vpand         0x179a(%rip),%ymm3,%ymm0        # 42a0 <_sk_callback_hsw+0x583>
2676  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2677  DB  196,98,125,24,5,201,21,0,0          ; vbroadcastss  0x15c9(%rip),%ymm8        # 40dc <_sk_callback_hsw+0x3bf>
2678  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
2679  DB  196,226,101,0,13,159,23,0,0         ; vpshufb       0x179f(%rip),%ymm3,%ymm1        # 42c0 <_sk_callback_hsw+0x5a3>
2680  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2681  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
2682  DB  196,226,101,0,21,173,23,0,0         ; vpshufb       0x17ad(%rip),%ymm3,%ymm2        # 42e0 <_sk_callback_hsw+0x5c3>
2683  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2684  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
2685  DB  197,229,114,211,24                  ; vpsrld        $0x18,%ymm3,%ymm3
2686  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
2687  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
2688  DB  72,173                              ; lods          %ds:(%rsi),%rax
2689  DB  76,137,193                          ; mov           %r8,%rcx
2690  DB  255,224                             ; jmpq          *%rax
2691  DB  185,8,0,0,0                         ; mov           $0x8,%ecx
2692  DB  68,41,193                           ; sub           %r8d,%ecx
2693  DB  192,225,3                           ; shl           $0x3,%cl
2694  DB  72,199,192,255,255,255,255          ; mov           $0xffffffffffffffff,%rax
2695  DB  72,211,232                          ; shr           %cl,%rax
2696  DB  196,225,249,110,192                 ; vmovq         %rax,%xmm0
2697  DB  196,226,125,33,192                  ; vpmovsxbd     %xmm0,%ymm0
2698  DB  196,194,125,140,25                  ; vpmaskmovd    (%r9),%ymm0,%ymm3
2699  DB  235,135                             ; jmp           2afe <_sk_load_8888_hsw+0x1a>
2700
2701PUBLIC _sk_gather_8888_hsw
2702_sk_gather_8888_hsw LABEL PROC
2703  DB  72,173                              ; lods          %ds:(%rsi),%rax
2704  DB  76,139,0                            ; mov           (%rax),%r8
2705  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
2706  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
2707  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
2708  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
2709  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
2710  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
2711  DB  196,194,117,144,28,128              ; vpgatherdd    %ymm1,(%r8,%ymm0,4),%ymm3
2712  DB  197,229,219,5,91,23,0,0             ; vpand         0x175b(%rip),%ymm3,%ymm0        # 4300 <_sk_callback_hsw+0x5e3>
2713  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2714  DB  196,98,125,24,5,46,21,0,0           ; vbroadcastss  0x152e(%rip),%ymm8        # 40e0 <_sk_callback_hsw+0x3c3>
2715  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
2716  DB  196,226,101,0,13,96,23,0,0          ; vpshufb       0x1760(%rip),%ymm3,%ymm1        # 4320 <_sk_callback_hsw+0x603>
2717  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2718  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
2719  DB  196,226,101,0,21,110,23,0,0         ; vpshufb       0x176e(%rip),%ymm3,%ymm2        # 4340 <_sk_callback_hsw+0x623>
2720  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2721  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
2722  DB  197,229,114,211,24                  ; vpsrld        $0x18,%ymm3,%ymm3
2723  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
2724  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
2725  DB  72,173                              ; lods          %ds:(%rsi),%rax
2726  DB  255,224                             ; jmpq          *%rax
2727
2728PUBLIC _sk_store_8888_hsw
2729_sk_store_8888_hsw LABEL PROC
2730  DB  73,137,200                          ; mov           %rcx,%r8
2731  DB  72,173                              ; lods          %ds:(%rsi),%rax
2732  DB  76,141,12,189,0,0,0,0               ; lea           0x0(,%rdi,4),%r9
2733  DB  76,3,8                              ; add           (%rax),%r9
2734  DB  196,98,125,24,5,222,20,0,0          ; vbroadcastss  0x14de(%rip),%ymm8        # 40e4 <_sk_callback_hsw+0x3c7>
2735  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
2736  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
2737  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
2738  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
2739  DB  196,193,45,114,242,8                ; vpslld        $0x8,%ymm10,%ymm10
2740  DB  196,65,45,235,201                   ; vpor          %ymm9,%ymm10,%ymm9
2741  DB  196,65,108,89,208                   ; vmulps        %ymm8,%ymm2,%ymm10
2742  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
2743  DB  196,193,45,114,242,16               ; vpslld        $0x10,%ymm10,%ymm10
2744  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
2745  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
2746  DB  196,193,61,114,240,24               ; vpslld        $0x18,%ymm8,%ymm8
2747  DB  196,65,45,235,192                   ; vpor          %ymm8,%ymm10,%ymm8
2748  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
2749  DB  77,133,192                          ; test          %r8,%r8
2750  DB  117,12                              ; jne           2c60 <_sk_store_8888_hsw+0x73>
2751  DB  196,65,126,127,1                    ; vmovdqu       %ymm8,(%r9)
2752  DB  72,173                              ; lods          %ds:(%rsi),%rax
2753  DB  76,137,193                          ; mov           %r8,%rcx
2754  DB  255,224                             ; jmpq          *%rax
2755  DB  185,8,0,0,0                         ; mov           $0x8,%ecx
2756  DB  68,41,193                           ; sub           %r8d,%ecx
2757  DB  192,225,3                           ; shl           $0x3,%cl
2758  DB  72,199,192,255,255,255,255          ; mov           $0xffffffffffffffff,%rax
2759  DB  72,211,232                          ; shr           %cl,%rax
2760  DB  196,97,249,110,200                  ; vmovq         %rax,%xmm9
2761  DB  196,66,125,33,201                   ; vpmovsxbd     %xmm9,%ymm9
2762  DB  196,66,53,142,1                     ; vpmaskmovd    %ymm8,%ymm9,(%r9)
2763  DB  235,211                             ; jmp           2c59 <_sk_store_8888_hsw+0x6c>
2764
2765PUBLIC _sk_load_f16_hsw
2766_sk_load_f16_hsw LABEL PROC
2767  DB  72,173                              ; lods          %ds:(%rsi),%rax
2768  DB  72,139,0                            ; mov           (%rax),%rax
2769  DB  72,133,201                          ; test          %rcx,%rcx
2770  DB  117,97                              ; jne           2cf1 <_sk_load_f16_hsw+0x6b>
2771  DB  197,121,16,4,248                    ; vmovupd       (%rax,%rdi,8),%xmm8
2772  DB  197,249,16,84,248,16                ; vmovupd       0x10(%rax,%rdi,8),%xmm2
2773  DB  197,249,16,92,248,32                ; vmovupd       0x20(%rax,%rdi,8),%xmm3
2774  DB  197,122,111,76,248,48               ; vmovdqu       0x30(%rax,%rdi,8),%xmm9
2775  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
2776  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
2777  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
2778  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
2779  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
2780  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
2781  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
2782  DB  197,241,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm3
2783  DB  197,185,108,194                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm0
2784  DB  196,226,125,19,192                  ; vcvtph2ps     %xmm0,%ymm0
2785  DB  197,185,109,202                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm1
2786  DB  196,226,125,19,201                  ; vcvtph2ps     %xmm1,%ymm1
2787  DB  197,177,108,211                     ; vpunpcklqdq   %xmm3,%xmm9,%xmm2
2788  DB  196,226,125,19,210                  ; vcvtph2ps     %xmm2,%ymm2
2789  DB  197,177,109,219                     ; vpunpckhqdq   %xmm3,%xmm9,%xmm3
2790  DB  196,226,125,19,219                  ; vcvtph2ps     %xmm3,%ymm3
2791  DB  72,173                              ; lods          %ds:(%rsi),%rax
2792  DB  255,224                             ; jmpq          *%rax
2793  DB  197,123,16,4,248                    ; vmovsd        (%rax,%rdi,8),%xmm8
2794  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
2795  DB  72,131,249,1                        ; cmp           $0x1,%rcx
2796  DB  116,79                              ; je            2d50 <_sk_load_f16_hsw+0xca>
2797  DB  197,57,22,68,248,8                  ; vmovhpd       0x8(%rax,%rdi,8),%xmm8,%xmm8
2798  DB  72,131,249,3                        ; cmp           $0x3,%rcx
2799  DB  114,67                              ; jb            2d50 <_sk_load_f16_hsw+0xca>
2800  DB  197,251,16,84,248,16                ; vmovsd        0x10(%rax,%rdi,8),%xmm2
2801  DB  72,131,249,3                        ; cmp           $0x3,%rcx
2802  DB  116,68                              ; je            2d5d <_sk_load_f16_hsw+0xd7>
2803  DB  197,233,22,84,248,24                ; vmovhpd       0x18(%rax,%rdi,8),%xmm2,%xmm2
2804  DB  72,131,249,5                        ; cmp           $0x5,%rcx
2805  DB  114,56                              ; jb            2d5d <_sk_load_f16_hsw+0xd7>
2806  DB  197,251,16,92,248,32                ; vmovsd        0x20(%rax,%rdi,8),%xmm3
2807  DB  72,131,249,5                        ; cmp           $0x5,%rcx
2808  DB  15,132,114,255,255,255              ; je            2ca7 <_sk_load_f16_hsw+0x21>
2809  DB  197,225,22,92,248,40                ; vmovhpd       0x28(%rax,%rdi,8),%xmm3,%xmm3
2810  DB  72,131,249,7                        ; cmp           $0x7,%rcx
2811  DB  15,130,98,255,255,255               ; jb            2ca7 <_sk_load_f16_hsw+0x21>
2812  DB  197,122,126,76,248,48               ; vmovq         0x30(%rax,%rdi,8),%xmm9
2813  DB  233,87,255,255,255                  ; jmpq          2ca7 <_sk_load_f16_hsw+0x21>
2814  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
2815  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
2816  DB  233,74,255,255,255                  ; jmpq          2ca7 <_sk_load_f16_hsw+0x21>
2817  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
2818  DB  233,65,255,255,255                  ; jmpq          2ca7 <_sk_load_f16_hsw+0x21>
2819
2820PUBLIC _sk_gather_f16_hsw
2821_sk_gather_f16_hsw LABEL PROC
2822  DB  72,173                              ; lods          %ds:(%rsi),%rax
2823  DB  76,139,0                            ; mov           (%rax),%r8
2824  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
2825  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
2826  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
2827  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
2828  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
2829  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
2830  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
2831  DB  196,194,237,144,28,192              ; vpgatherdq    %ymm2,(%r8,%xmm0,8),%ymm3
2832  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
2833  DB  196,194,245,144,20,192              ; vpgatherdq    %ymm1,(%r8,%xmm0,8),%ymm2
2834  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
2835  DB  196,227,125,57,209,1                ; vextracti128  $0x1,%ymm2,%xmm1
2836  DB  197,97,97,192                       ; vpunpcklwd    %xmm0,%xmm3,%xmm8
2837  DB  197,225,105,192                     ; vpunpckhwd    %xmm0,%xmm3,%xmm0
2838  DB  197,233,97,217                      ; vpunpcklwd    %xmm1,%xmm2,%xmm3
2839  DB  197,233,105,201                     ; vpunpckhwd    %xmm1,%xmm2,%xmm1
2840  DB  197,57,97,200                       ; vpunpcklwd    %xmm0,%xmm8,%xmm9
2841  DB  197,57,105,192                      ; vpunpckhwd    %xmm0,%xmm8,%xmm8
2842  DB  197,225,97,209                      ; vpunpcklwd    %xmm1,%xmm3,%xmm2
2843  DB  197,225,105,217                     ; vpunpckhwd    %xmm1,%xmm3,%xmm3
2844  DB  197,177,108,194                     ; vpunpcklqdq   %xmm2,%xmm9,%xmm0
2845  DB  196,226,125,19,192                  ; vcvtph2ps     %xmm0,%ymm0
2846  DB  197,177,109,202                     ; vpunpckhqdq   %xmm2,%xmm9,%xmm1
2847  DB  196,226,125,19,201                  ; vcvtph2ps     %xmm1,%ymm1
2848  DB  197,185,108,211                     ; vpunpcklqdq   %xmm3,%xmm8,%xmm2
2849  DB  196,226,125,19,210                  ; vcvtph2ps     %xmm2,%ymm2
2850  DB  197,185,109,219                     ; vpunpckhqdq   %xmm3,%xmm8,%xmm3
2851  DB  196,226,125,19,219                  ; vcvtph2ps     %xmm3,%ymm3
2852  DB  72,173                              ; lods          %ds:(%rsi),%rax
2853  DB  255,224                             ; jmpq          *%rax
2854
2855PUBLIC _sk_store_f16_hsw
2856_sk_store_f16_hsw LABEL PROC
2857  DB  72,173                              ; lods          %ds:(%rsi),%rax
2858  DB  72,139,0                            ; mov           (%rax),%rax
2859  DB  196,195,125,29,192,4                ; vcvtps2ph     $0x4,%ymm0,%xmm8
2860  DB  196,195,125,29,201,4                ; vcvtps2ph     $0x4,%ymm1,%xmm9
2861  DB  196,195,125,29,210,4                ; vcvtps2ph     $0x4,%ymm2,%xmm10
2862  DB  196,195,125,29,219,4                ; vcvtps2ph     $0x4,%ymm3,%xmm11
2863  DB  196,65,57,97,225                    ; vpunpcklwd    %xmm9,%xmm8,%xmm12
2864  DB  196,65,57,105,193                   ; vpunpckhwd    %xmm9,%xmm8,%xmm8
2865  DB  196,65,41,97,203                    ; vpunpcklwd    %xmm11,%xmm10,%xmm9
2866  DB  196,65,41,105,235                   ; vpunpckhwd    %xmm11,%xmm10,%xmm13
2867  DB  196,65,25,98,217                    ; vpunpckldq    %xmm9,%xmm12,%xmm11
2868  DB  196,65,25,106,209                   ; vpunpckhdq    %xmm9,%xmm12,%xmm10
2869  DB  196,65,57,98,205                    ; vpunpckldq    %xmm13,%xmm8,%xmm9
2870  DB  196,65,57,106,197                   ; vpunpckhdq    %xmm13,%xmm8,%xmm8
2871  DB  72,133,201                          ; test          %rcx,%rcx
2872  DB  117,27                              ; jne           2e55 <_sk_store_f16_hsw+0x65>
2873  DB  197,120,17,28,248                   ; vmovups       %xmm11,(%rax,%rdi,8)
2874  DB  197,120,17,84,248,16                ; vmovups       %xmm10,0x10(%rax,%rdi,8)
2875  DB  197,120,17,76,248,32                ; vmovups       %xmm9,0x20(%rax,%rdi,8)
2876  DB  197,122,127,68,248,48               ; vmovdqu       %xmm8,0x30(%rax,%rdi,8)
2877  DB  72,173                              ; lods          %ds:(%rsi),%rax
2878  DB  255,224                             ; jmpq          *%rax
2879  DB  197,121,214,28,248                  ; vmovq         %xmm11,(%rax,%rdi,8)
2880  DB  72,131,249,1                        ; cmp           $0x1,%rcx
2881  DB  116,241                             ; je            2e51 <_sk_store_f16_hsw+0x61>
2882  DB  197,121,23,92,248,8                 ; vmovhpd       %xmm11,0x8(%rax,%rdi,8)
2883  DB  72,131,249,3                        ; cmp           $0x3,%rcx
2884  DB  114,229                             ; jb            2e51 <_sk_store_f16_hsw+0x61>
2885  DB  197,121,214,84,248,16               ; vmovq         %xmm10,0x10(%rax,%rdi,8)
2886  DB  116,221                             ; je            2e51 <_sk_store_f16_hsw+0x61>
2887  DB  197,121,23,84,248,24                ; vmovhpd       %xmm10,0x18(%rax,%rdi,8)
2888  DB  72,131,249,5                        ; cmp           $0x5,%rcx
2889  DB  114,209                             ; jb            2e51 <_sk_store_f16_hsw+0x61>
2890  DB  197,121,214,76,248,32               ; vmovq         %xmm9,0x20(%rax,%rdi,8)
2891  DB  116,201                             ; je            2e51 <_sk_store_f16_hsw+0x61>
2892  DB  197,121,23,76,248,40                ; vmovhpd       %xmm9,0x28(%rax,%rdi,8)
2893  DB  72,131,249,7                        ; cmp           $0x7,%rcx
2894  DB  114,189                             ; jb            2e51 <_sk_store_f16_hsw+0x61>
2895  DB  197,121,214,68,248,48               ; vmovq         %xmm8,0x30(%rax,%rdi,8)
2896  DB  235,181                             ; jmp           2e51 <_sk_store_f16_hsw+0x61>
2897
2898PUBLIC _sk_load_u16_be_hsw
2899_sk_load_u16_be_hsw LABEL PROC
2900  DB  72,173                              ; lods          %ds:(%rsi),%rax
2901  DB  76,139,0                            ; mov           (%rax),%r8
2902  DB  72,141,4,189,0,0,0,0                ; lea           0x0(,%rdi,4),%rax
2903  DB  72,133,201                          ; test          %rcx,%rcx
2904  DB  15,133,204,0,0,0                    ; jne           2f7e <_sk_load_u16_be_hsw+0xe2>
2905  DB  196,65,121,16,4,64                  ; vmovupd       (%r8,%rax,2),%xmm8
2906  DB  196,193,121,16,84,64,16             ; vmovupd       0x10(%r8,%rax,2),%xmm2
2907  DB  196,193,121,16,92,64,32             ; vmovupd       0x20(%r8,%rax,2),%xmm3
2908  DB  196,65,122,111,76,64,48             ; vmovdqu       0x30(%r8,%rax,2),%xmm9
2909  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
2910  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
2911  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
2912  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
2913  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
2914  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
2915  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
2916  DB  197,113,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm11
2917  DB  197,185,108,194                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm0
2918  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
2919  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
2920  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
2921  DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
2922  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
2923  DB  196,98,125,24,21,213,17,0,0         ; vbroadcastss  0x11d5(%rip),%ymm10        # 40e8 <_sk_callback_hsw+0x3cb>
2924  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
2925  DB  197,185,109,202                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm1
2926  DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
2927  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
2928  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
2929  DB  196,226,125,51,201                  ; vpmovzxwd     %xmm1,%ymm1
2930  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
2931  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
2932  DB  196,193,49,108,211                  ; vpunpcklqdq   %xmm11,%xmm9,%xmm2
2933  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
2934  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
2935  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
2936  DB  196,226,125,51,210                  ; vpmovzxwd     %xmm2,%ymm2
2937  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
2938  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
2939  DB  196,193,49,109,219                  ; vpunpckhqdq   %xmm11,%xmm9,%xmm3
2940  DB  197,185,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm8
2941  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
2942  DB  197,185,235,219                     ; vpor          %xmm3,%xmm8,%xmm3
2943  DB  196,226,125,51,219                  ; vpmovzxwd     %xmm3,%ymm3
2944  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
2945  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
2946  DB  72,173                              ; lods          %ds:(%rsi),%rax
2947  DB  255,224                             ; jmpq          *%rax
2948  DB  196,65,123,16,4,64                  ; vmovsd        (%r8,%rax,2),%xmm8
2949  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
2950  DB  72,131,249,1                        ; cmp           $0x1,%rcx
2951  DB  116,85                              ; je            2fe4 <_sk_load_u16_be_hsw+0x148>
2952  DB  196,65,57,22,68,64,8                ; vmovhpd       0x8(%r8,%rax,2),%xmm8,%xmm8
2953  DB  72,131,249,3                        ; cmp           $0x3,%rcx
2954  DB  114,72                              ; jb            2fe4 <_sk_load_u16_be_hsw+0x148>
2955  DB  196,193,123,16,84,64,16             ; vmovsd        0x10(%r8,%rax,2),%xmm2
2956  DB  72,131,249,3                        ; cmp           $0x3,%rcx
2957  DB  116,72                              ; je            2ff1 <_sk_load_u16_be_hsw+0x155>
2958  DB  196,193,105,22,84,64,24             ; vmovhpd       0x18(%r8,%rax,2),%xmm2,%xmm2
2959  DB  72,131,249,5                        ; cmp           $0x5,%rcx
2960  DB  114,59                              ; jb            2ff1 <_sk_load_u16_be_hsw+0x155>
2961  DB  196,193,123,16,92,64,32             ; vmovsd        0x20(%r8,%rax,2),%xmm3
2962  DB  72,131,249,5                        ; cmp           $0x5,%rcx
2963  DB  15,132,6,255,255,255                ; je            2ecd <_sk_load_u16_be_hsw+0x31>
2964  DB  196,193,97,22,92,64,40              ; vmovhpd       0x28(%r8,%rax,2),%xmm3,%xmm3
2965  DB  72,131,249,7                        ; cmp           $0x7,%rcx
2966  DB  15,130,245,254,255,255              ; jb            2ecd <_sk_load_u16_be_hsw+0x31>
2967  DB  196,65,122,126,76,64,48             ; vmovq         0x30(%r8,%rax,2),%xmm9
2968  DB  233,233,254,255,255                 ; jmpq          2ecd <_sk_load_u16_be_hsw+0x31>
2969  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
2970  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
2971  DB  233,220,254,255,255                 ; jmpq          2ecd <_sk_load_u16_be_hsw+0x31>
2972  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
2973  DB  233,211,254,255,255                 ; jmpq          2ecd <_sk_load_u16_be_hsw+0x31>
2974
2975PUBLIC _sk_load_rgb_u16_be_hsw
2976_sk_load_rgb_u16_be_hsw LABEL PROC
2977  DB  72,173                              ; lods          %ds:(%rsi),%rax
2978  DB  76,139,0                            ; mov           (%rax),%r8
2979  DB  72,141,4,127                        ; lea           (%rdi,%rdi,2),%rax
2980  DB  72,133,201                          ; test          %rcx,%rcx
2981  DB  15,133,204,0,0,0                    ; jne           30d8 <_sk_load_rgb_u16_be_hsw+0xde>
2982  DB  196,193,122,111,4,64                ; vmovdqu       (%r8,%rax,2),%xmm0
2983  DB  196,193,122,111,84,64,12            ; vmovdqu       0xc(%r8,%rax,2),%xmm2
2984  DB  196,193,122,111,76,64,24            ; vmovdqu       0x18(%r8,%rax,2),%xmm1
2985  DB  196,193,122,111,92,64,32            ; vmovdqu       0x20(%r8,%rax,2),%xmm3
2986  DB  197,225,115,219,4                   ; vpsrldq       $0x4,%xmm3,%xmm3
2987  DB  197,185,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm8
2988  DB  197,177,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm9
2989  DB  197,161,115,217,6                   ; vpsrldq       $0x6,%xmm1,%xmm11
2990  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
2991  DB  197,249,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm0
2992  DB  196,193,57,97,209                   ; vpunpcklwd    %xmm9,%xmm8,%xmm2
2993  DB  197,241,97,203                      ; vpunpcklwd    %xmm3,%xmm1,%xmm1
2994  DB  196,193,33,97,218                   ; vpunpcklwd    %xmm10,%xmm11,%xmm3
2995  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
2996  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
2997  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
2998  DB  197,241,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm3
2999  DB  197,185,108,194                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm0
3000  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
3001  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
3002  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
3003  DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
3004  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
3005  DB  196,98,125,24,21,102,16,0,0         ; vbroadcastss  0x1066(%rip),%ymm10        # 40ec <_sk_callback_hsw+0x3cf>
3006  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
3007  DB  197,185,109,202                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm1
3008  DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
3009  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
3010  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
3011  DB  196,226,125,51,201                  ; vpmovzxwd     %xmm1,%ymm1
3012  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
3013  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
3014  DB  197,177,108,211                     ; vpunpcklqdq   %xmm3,%xmm9,%xmm2
3015  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
3016  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
3017  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
3018  DB  196,226,125,51,210                  ; vpmovzxwd     %xmm2,%ymm2
3019  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
3020  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
3021  DB  72,173                              ; lods          %ds:(%rsi),%rax
3022  DB  196,226,125,24,29,26,16,0,0         ; vbroadcastss  0x101a(%rip),%ymm3        # 40f0 <_sk_callback_hsw+0x3d3>
3023  DB  255,224                             ; jmpq          *%rax
3024  DB  196,193,121,110,4,64                ; vmovd         (%r8,%rax,2),%xmm0
3025  DB  196,193,121,196,68,64,4,2           ; vpinsrw       $0x2,0x4(%r8,%rax,2),%xmm0,%xmm0
3026  DB  72,131,249,1                        ; cmp           $0x1,%rcx
3027  DB  117,5                               ; jne           30f1 <_sk_load_rgb_u16_be_hsw+0xf7>
3028  DB  233,79,255,255,255                  ; jmpq          3040 <_sk_load_rgb_u16_be_hsw+0x46>
3029  DB  196,193,121,110,76,64,6             ; vmovd         0x6(%r8,%rax,2),%xmm1
3030  DB  196,65,113,196,68,64,10,2           ; vpinsrw       $0x2,0xa(%r8,%rax,2),%xmm1,%xmm8
3031  DB  72,131,249,3                        ; cmp           $0x3,%rcx
3032  DB  114,26                              ; jb            3120 <_sk_load_rgb_u16_be_hsw+0x126>
3033  DB  196,193,121,110,76,64,12            ; vmovd         0xc(%r8,%rax,2),%xmm1
3034  DB  196,193,113,196,84,64,16,2          ; vpinsrw       $0x2,0x10(%r8,%rax,2),%xmm1,%xmm2
3035  DB  72,131,249,3                        ; cmp           $0x3,%rcx
3036  DB  117,10                              ; jne           3125 <_sk_load_rgb_u16_be_hsw+0x12b>
3037  DB  233,32,255,255,255                  ; jmpq          3040 <_sk_load_rgb_u16_be_hsw+0x46>
3038  DB  233,27,255,255,255                  ; jmpq          3040 <_sk_load_rgb_u16_be_hsw+0x46>
3039  DB  196,193,121,110,76,64,18            ; vmovd         0x12(%r8,%rax,2),%xmm1
3040  DB  196,65,113,196,76,64,22,2           ; vpinsrw       $0x2,0x16(%r8,%rax,2),%xmm1,%xmm9
3041  DB  72,131,249,5                        ; cmp           $0x5,%rcx
3042  DB  114,26                              ; jb            3154 <_sk_load_rgb_u16_be_hsw+0x15a>
3043  DB  196,193,121,110,76,64,24            ; vmovd         0x18(%r8,%rax,2),%xmm1
3044  DB  196,193,113,196,76,64,28,2          ; vpinsrw       $0x2,0x1c(%r8,%rax,2),%xmm1,%xmm1
3045  DB  72,131,249,5                        ; cmp           $0x5,%rcx
3046  DB  117,10                              ; jne           3159 <_sk_load_rgb_u16_be_hsw+0x15f>
3047  DB  233,236,254,255,255                 ; jmpq          3040 <_sk_load_rgb_u16_be_hsw+0x46>
3048  DB  233,231,254,255,255                 ; jmpq          3040 <_sk_load_rgb_u16_be_hsw+0x46>
3049  DB  196,193,121,110,92,64,30            ; vmovd         0x1e(%r8,%rax,2),%xmm3
3050  DB  196,65,97,196,92,64,34,2            ; vpinsrw       $0x2,0x22(%r8,%rax,2),%xmm3,%xmm11
3051  DB  72,131,249,7                        ; cmp           $0x7,%rcx
3052  DB  114,20                              ; jb            3182 <_sk_load_rgb_u16_be_hsw+0x188>
3053  DB  196,193,121,110,92,64,36            ; vmovd         0x24(%r8,%rax,2),%xmm3
3054  DB  196,193,97,196,92,64,40,2           ; vpinsrw       $0x2,0x28(%r8,%rax,2),%xmm3,%xmm3
3055  DB  233,190,254,255,255                 ; jmpq          3040 <_sk_load_rgb_u16_be_hsw+0x46>
3056  DB  233,185,254,255,255                 ; jmpq          3040 <_sk_load_rgb_u16_be_hsw+0x46>
3057
3058PUBLIC _sk_store_u16_be_hsw
3059_sk_store_u16_be_hsw LABEL PROC
3060  DB  72,173                              ; lods          %ds:(%rsi),%rax
3061  DB  76,139,0                            ; mov           (%rax),%r8
3062  DB  72,141,4,189,0,0,0,0                ; lea           0x0(,%rdi,4),%rax
3063  DB  196,98,125,24,5,87,15,0,0           ; vbroadcastss  0xf57(%rip),%ymm8        # 40f4 <_sk_callback_hsw+0x3d7>
3064  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
3065  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
3066  DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
3067  DB  196,66,49,43,202                    ; vpackusdw     %xmm10,%xmm9,%xmm9
3068  DB  196,193,41,113,241,8                ; vpsllw        $0x8,%xmm9,%xmm10
3069  DB  196,193,49,113,209,8                ; vpsrlw        $0x8,%xmm9,%xmm9
3070  DB  196,65,41,235,201                   ; vpor          %xmm9,%xmm10,%xmm9
3071  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
3072  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
3073  DB  196,67,125,25,211,1                 ; vextractf128  $0x1,%ymm10,%xmm11
3074  DB  196,66,41,43,211                    ; vpackusdw     %xmm11,%xmm10,%xmm10
3075  DB  196,193,33,113,242,8                ; vpsllw        $0x8,%xmm10,%xmm11
3076  DB  196,193,41,113,210,8                ; vpsrlw        $0x8,%xmm10,%xmm10
3077  DB  196,65,33,235,210                   ; vpor          %xmm10,%xmm11,%xmm10
3078  DB  196,65,108,89,216                   ; vmulps        %ymm8,%ymm2,%ymm11
3079  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
3080  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
3081  DB  196,66,33,43,220                    ; vpackusdw     %xmm12,%xmm11,%xmm11
3082  DB  196,193,25,113,243,8                ; vpsllw        $0x8,%xmm11,%xmm12
3083  DB  196,193,33,113,211,8                ; vpsrlw        $0x8,%xmm11,%xmm11
3084  DB  196,65,25,235,219                   ; vpor          %xmm11,%xmm12,%xmm11
3085  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
3086  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
3087  DB  196,67,125,25,196,1                 ; vextractf128  $0x1,%ymm8,%xmm12
3088  DB  196,66,57,43,196                    ; vpackusdw     %xmm12,%xmm8,%xmm8
3089  DB  196,193,25,113,240,8                ; vpsllw        $0x8,%xmm8,%xmm12
3090  DB  196,193,57,113,208,8                ; vpsrlw        $0x8,%xmm8,%xmm8
3091  DB  196,65,25,235,192                   ; vpor          %xmm8,%xmm12,%xmm8
3092  DB  196,65,49,97,226                    ; vpunpcklwd    %xmm10,%xmm9,%xmm12
3093  DB  196,65,49,105,234                   ; vpunpckhwd    %xmm10,%xmm9,%xmm13
3094  DB  196,65,33,97,200                    ; vpunpcklwd    %xmm8,%xmm11,%xmm9
3095  DB  196,65,33,105,192                   ; vpunpckhwd    %xmm8,%xmm11,%xmm8
3096  DB  196,65,25,98,217                    ; vpunpckldq    %xmm9,%xmm12,%xmm11
3097  DB  196,65,25,106,209                   ; vpunpckhdq    %xmm9,%xmm12,%xmm10
3098  DB  196,65,17,98,200                    ; vpunpckldq    %xmm8,%xmm13,%xmm9
3099  DB  196,65,17,106,192                   ; vpunpckhdq    %xmm8,%xmm13,%xmm8
3100  DB  72,133,201                          ; test          %rcx,%rcx
3101  DB  117,31                              ; jne           3281 <_sk_store_u16_be_hsw+0xfa>
3102  DB  196,65,120,17,28,64                 ; vmovups       %xmm11,(%r8,%rax,2)
3103  DB  196,65,120,17,84,64,16              ; vmovups       %xmm10,0x10(%r8,%rax,2)
3104  DB  196,65,120,17,76,64,32              ; vmovups       %xmm9,0x20(%r8,%rax,2)
3105  DB  196,65,122,127,68,64,48             ; vmovdqu       %xmm8,0x30(%r8,%rax,2)
3106  DB  72,173                              ; lods          %ds:(%rsi),%rax
3107  DB  255,224                             ; jmpq          *%rax
3108  DB  196,65,121,214,28,64                ; vmovq         %xmm11,(%r8,%rax,2)
3109  DB  72,131,249,1                        ; cmp           $0x1,%rcx
3110  DB  116,240                             ; je            327d <_sk_store_u16_be_hsw+0xf6>
3111  DB  196,65,121,23,92,64,8               ; vmovhpd       %xmm11,0x8(%r8,%rax,2)
3112  DB  72,131,249,3                        ; cmp           $0x3,%rcx
3113  DB  114,227                             ; jb            327d <_sk_store_u16_be_hsw+0xf6>
3114  DB  196,65,121,214,84,64,16             ; vmovq         %xmm10,0x10(%r8,%rax,2)
3115  DB  116,218                             ; je            327d <_sk_store_u16_be_hsw+0xf6>
3116  DB  196,65,121,23,84,64,24              ; vmovhpd       %xmm10,0x18(%r8,%rax,2)
3117  DB  72,131,249,5                        ; cmp           $0x5,%rcx
3118  DB  114,205                             ; jb            327d <_sk_store_u16_be_hsw+0xf6>
3119  DB  196,65,121,214,76,64,32             ; vmovq         %xmm9,0x20(%r8,%rax,2)
3120  DB  116,196                             ; je            327d <_sk_store_u16_be_hsw+0xf6>
3121  DB  196,65,121,23,76,64,40              ; vmovhpd       %xmm9,0x28(%r8,%rax,2)
3122  DB  72,131,249,7                        ; cmp           $0x7,%rcx
3123  DB  114,183                             ; jb            327d <_sk_store_u16_be_hsw+0xf6>
3124  DB  196,65,121,214,68,64,48             ; vmovq         %xmm8,0x30(%r8,%rax,2)
3125  DB  235,174                             ; jmp           327d <_sk_store_u16_be_hsw+0xf6>
3126
3127PUBLIC _sk_load_f32_hsw
3128_sk_load_f32_hsw LABEL PROC
3129  DB  72,173                              ; lods          %ds:(%rsi),%rax
3130  DB  72,131,249,7                        ; cmp           $0x7,%rcx
3131  DB  119,110                             ; ja            3345 <_sk_load_f32_hsw+0x76>
3132  DB  76,139,0                            ; mov           (%rax),%r8
3133  DB  76,141,12,189,0,0,0,0               ; lea           0x0(,%rdi,4),%r9
3134  DB  76,141,21,135,0,0,0                 ; lea           0x87(%rip),%r10        # 3370 <_sk_load_f32_hsw+0xa1>
3135  DB  73,99,4,138                         ; movslq        (%r10,%rcx,4),%rax
3136  DB  76,1,208                            ; add           %r10,%rax
3137  DB  255,224                             ; jmpq          *%rax
3138  DB  196,3,125,24,68,136,112,1           ; vinsertf128   $0x1,0x70(%r8,%r9,4),%ymm0,%ymm8
3139  DB  196,131,125,24,92,136,96,1          ; vinsertf128   $0x1,0x60(%r8,%r9,4),%ymm0,%ymm3
3140  DB  196,131,125,24,76,136,80,1          ; vinsertf128   $0x1,0x50(%r8,%r9,4),%ymm0,%ymm1
3141  DB  196,131,125,24,84,136,64,1          ; vinsertf128   $0x1,0x40(%r8,%r9,4),%ymm0,%ymm2
3142  DB  196,129,121,16,68,136,48            ; vmovupd       0x30(%r8,%r9,4),%xmm0
3143  DB  196,195,125,13,192,12               ; vblendpd      $0xc,%ymm8,%ymm0,%ymm0
3144  DB  196,1,121,16,68,136,32              ; vmovupd       0x20(%r8,%r9,4),%xmm8
3145  DB  196,99,61,13,203,12                 ; vblendpd      $0xc,%ymm3,%ymm8,%ymm9
3146  DB  196,129,121,16,92,136,16            ; vmovupd       0x10(%r8,%r9,4),%xmm3
3147  DB  196,99,101,13,209,12                ; vblendpd      $0xc,%ymm1,%ymm3,%ymm10
3148  DB  196,129,121,16,12,136               ; vmovupd       (%r8,%r9,4),%xmm1
3149  DB  196,227,117,13,202,12               ; vblendpd      $0xc,%ymm2,%ymm1,%ymm1
3150  DB  196,193,116,20,210                  ; vunpcklps     %ymm10,%ymm1,%ymm2
3151  DB  196,193,116,21,218                  ; vunpckhps     %ymm10,%ymm1,%ymm3
3152  DB  197,180,20,200                      ; vunpcklps     %ymm0,%ymm9,%ymm1
3153  DB  197,52,21,192                       ; vunpckhps     %ymm0,%ymm9,%ymm8
3154  DB  197,237,20,193                      ; vunpcklpd     %ymm1,%ymm2,%ymm0
3155  DB  197,237,21,201                      ; vunpckhpd     %ymm1,%ymm2,%ymm1
3156  DB  196,193,101,20,208                  ; vunpcklpd     %ymm8,%ymm3,%ymm2
3157  DB  196,193,101,21,216                  ; vunpckhpd     %ymm8,%ymm3,%ymm3
3158  DB  72,173                              ; lods          %ds:(%rsi),%rax
3159  DB  255,224                             ; jmpq          *%rax
3160  DB  15,31,0                             ; nopl          (%rax)
3161  DB  130                                 ; (bad)
3162  DB  255                                 ; (bad)
3163  DB  255                                 ; (bad)
3164  DB  255,201                             ; dec           %ecx
3165  DB  255                                 ; (bad)
3166  DB  255                                 ; (bad)
3167  DB  255                                 ; (bad)
3168  DB  188,255,255,255,175                 ; mov           $0xafffffff,%esp
3169  DB  255                                 ; (bad)
3170  DB  255                                 ; (bad)
3171  DB  255,162,255,255,255,154             ; jmpq          *-0x65000001(%rdx)
3172  DB  255                                 ; (bad)
3173  DB  255                                 ; (bad)
3174  DB  255,146,255,255,255,138             ; callq         *-0x75000001(%rdx)
3175  DB  255                                 ; (bad)
3176  DB  255                                 ; (bad)
3177  DB  255                                 ; .byte         0xff
3178
3179PUBLIC _sk_store_f32_hsw
3180_sk_store_f32_hsw LABEL PROC
3181  DB  72,173                              ; lods          %ds:(%rsi),%rax
3182  DB  76,139,0                            ; mov           (%rax),%r8
3183  DB  72,141,4,189,0,0,0,0                ; lea           0x0(,%rdi,4),%rax
3184  DB  197,124,20,193                      ; vunpcklps     %ymm1,%ymm0,%ymm8
3185  DB  197,124,21,217                      ; vunpckhps     %ymm1,%ymm0,%ymm11
3186  DB  197,108,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm9
3187  DB  197,108,21,227                      ; vunpckhps     %ymm3,%ymm2,%ymm12
3188  DB  196,65,61,20,209                    ; vunpcklpd     %ymm9,%ymm8,%ymm10
3189  DB  196,65,61,21,201                    ; vunpckhpd     %ymm9,%ymm8,%ymm9
3190  DB  196,65,37,20,196                    ; vunpcklpd     %ymm12,%ymm11,%ymm8
3191  DB  196,65,37,21,220                    ; vunpckhpd     %ymm12,%ymm11,%ymm11
3192  DB  72,133,201                          ; test          %rcx,%rcx
3193  DB  117,55                              ; jne           33fd <_sk_store_f32_hsw+0x6d>
3194  DB  196,67,45,24,225,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
3195  DB  196,67,61,24,235,1                  ; vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
3196  DB  196,67,45,6,201,49                  ; vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
3197  DB  196,67,61,6,195,49                  ; vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
3198  DB  196,65,125,17,36,128                ; vmovupd       %ymm12,(%r8,%rax,4)
3199  DB  196,65,125,17,108,128,32            ; vmovupd       %ymm13,0x20(%r8,%rax,4)
3200  DB  196,65,125,17,76,128,64             ; vmovupd       %ymm9,0x40(%r8,%rax,4)
3201  DB  196,65,125,17,68,128,96             ; vmovupd       %ymm8,0x60(%r8,%rax,4)
3202  DB  72,173                              ; lods          %ds:(%rsi),%rax
3203  DB  255,224                             ; jmpq          *%rax
3204  DB  196,65,121,17,20,128                ; vmovupd       %xmm10,(%r8,%rax,4)
3205  DB  72,131,249,1                        ; cmp           $0x1,%rcx
3206  DB  116,240                             ; je            33f9 <_sk_store_f32_hsw+0x69>
3207  DB  196,65,121,17,76,128,16             ; vmovupd       %xmm9,0x10(%r8,%rax,4)
3208  DB  72,131,249,3                        ; cmp           $0x3,%rcx
3209  DB  114,227                             ; jb            33f9 <_sk_store_f32_hsw+0x69>
3210  DB  196,65,121,17,68,128,32             ; vmovupd       %xmm8,0x20(%r8,%rax,4)
3211  DB  116,218                             ; je            33f9 <_sk_store_f32_hsw+0x69>
3212  DB  196,65,121,17,92,128,48             ; vmovupd       %xmm11,0x30(%r8,%rax,4)
3213  DB  72,131,249,5                        ; cmp           $0x5,%rcx
3214  DB  114,205                             ; jb            33f9 <_sk_store_f32_hsw+0x69>
3215  DB  196,67,125,25,84,128,64,1           ; vextractf128  $0x1,%ymm10,0x40(%r8,%rax,4)
3216  DB  116,195                             ; je            33f9 <_sk_store_f32_hsw+0x69>
3217  DB  196,67,125,25,76,128,80,1           ; vextractf128  $0x1,%ymm9,0x50(%r8,%rax,4)
3218  DB  72,131,249,7                        ; cmp           $0x7,%rcx
3219  DB  114,181                             ; jb            33f9 <_sk_store_f32_hsw+0x69>
3220  DB  196,67,125,25,68,128,96,1           ; vextractf128  $0x1,%ymm8,0x60(%r8,%rax,4)
3221  DB  235,171                             ; jmp           33f9 <_sk_store_f32_hsw+0x69>
3222
3223PUBLIC _sk_clamp_x_hsw
3224_sk_clamp_x_hsw LABEL PROC
3225  DB  72,173                              ; lods          %ds:(%rsi),%rax
3226  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
3227  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
3228  DB  196,98,125,88,0                     ; vpbroadcastd  (%rax),%ymm8
3229  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
3230  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
3231  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
3232  DB  72,173                              ; lods          %ds:(%rsi),%rax
3233  DB  255,224                             ; jmpq          *%rax
3234
3235PUBLIC _sk_clamp_y_hsw
3236_sk_clamp_y_hsw LABEL PROC
3237  DB  72,173                              ; lods          %ds:(%rsi),%rax
3238  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
3239  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
3240  DB  196,98,125,88,0                     ; vpbroadcastd  (%rax),%ymm8
3241  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
3242  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
3243  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
3244  DB  72,173                              ; lods          %ds:(%rsi),%rax
3245  DB  255,224                             ; jmpq          *%rax
3246
3247PUBLIC _sk_repeat_x_hsw
3248_sk_repeat_x_hsw LABEL PROC
3249  DB  72,173                              ; lods          %ds:(%rsi),%rax
3250  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
3251  DB  196,65,124,94,200                   ; vdivps        %ymm8,%ymm0,%ymm9
3252  DB  196,67,125,8,201,1                  ; vroundps      $0x1,%ymm9,%ymm9
3253  DB  196,98,61,172,200                   ; vfnmadd213ps  %ymm0,%ymm8,%ymm9
3254  DB  197,253,118,192                     ; vpcmpeqd      %ymm0,%ymm0,%ymm0
3255  DB  197,189,254,192                     ; vpaddd        %ymm0,%ymm8,%ymm0
3256  DB  197,180,93,192                      ; vminps        %ymm0,%ymm9,%ymm0
3257  DB  72,173                              ; lods          %ds:(%rsi),%rax
3258  DB  255,224                             ; jmpq          *%rax
3259
3260PUBLIC _sk_repeat_y_hsw
3261_sk_repeat_y_hsw LABEL PROC
3262  DB  72,173                              ; lods          %ds:(%rsi),%rax
3263  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
3264  DB  196,65,116,94,200                   ; vdivps        %ymm8,%ymm1,%ymm9
3265  DB  196,67,125,8,201,1                  ; vroundps      $0x1,%ymm9,%ymm9
3266  DB  196,98,61,172,201                   ; vfnmadd213ps  %ymm1,%ymm8,%ymm9
3267  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
3268  DB  197,189,254,201                     ; vpaddd        %ymm1,%ymm8,%ymm1
3269  DB  197,180,93,201                      ; vminps        %ymm1,%ymm9,%ymm1
3270  DB  72,173                              ; lods          %ds:(%rsi),%rax
3271  DB  255,224                             ; jmpq          *%rax
3272
3273PUBLIC _sk_mirror_x_hsw
3274_sk_mirror_x_hsw LABEL PROC
3275  DB  72,173                              ; lods          %ds:(%rsi),%rax
3276  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
3277  DB  196,66,125,24,200                   ; vbroadcastss  %xmm8,%ymm9
3278  DB  196,65,124,92,209                   ; vsubps        %ymm9,%ymm0,%ymm10
3279  DB  196,193,58,88,192                   ; vaddss        %xmm8,%xmm8,%xmm0
3280  DB  196,226,125,24,192                  ; vbroadcastss  %xmm0,%ymm0
3281  DB  197,44,94,192                       ; vdivps        %ymm0,%ymm10,%ymm8
3282  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
3283  DB  196,66,125,172,194                  ; vfnmadd213ps  %ymm10,%ymm0,%ymm8
3284  DB  196,193,60,92,193                   ; vsubps        %ymm9,%ymm8,%ymm0
3285  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
3286  DB  197,60,92,192                       ; vsubps        %ymm0,%ymm8,%ymm8
3287  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
3288  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
3289  DB  196,65,53,254,192                   ; vpaddd        %ymm8,%ymm9,%ymm8
3290  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
3291  DB  72,173                              ; lods          %ds:(%rsi),%rax
3292  DB  255,224                             ; jmpq          *%rax
3293
3294PUBLIC _sk_mirror_y_hsw
3295_sk_mirror_y_hsw LABEL PROC
3296  DB  72,173                              ; lods          %ds:(%rsi),%rax
3297  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
3298  DB  196,66,125,24,200                   ; vbroadcastss  %xmm8,%ymm9
3299  DB  196,65,116,92,209                   ; vsubps        %ymm9,%ymm1,%ymm10
3300  DB  196,193,58,88,200                   ; vaddss        %xmm8,%xmm8,%xmm1
3301  DB  196,226,125,24,201                  ; vbroadcastss  %xmm1,%ymm1
3302  DB  197,44,94,193                       ; vdivps        %ymm1,%ymm10,%ymm8
3303  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
3304  DB  196,66,117,172,194                  ; vfnmadd213ps  %ymm10,%ymm1,%ymm8
3305  DB  196,193,60,92,201                   ; vsubps        %ymm9,%ymm8,%ymm1
3306  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
3307  DB  197,60,92,193                       ; vsubps        %ymm1,%ymm8,%ymm8
3308  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
3309  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
3310  DB  196,65,53,254,192                   ; vpaddd        %ymm8,%ymm9,%ymm8
3311  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
3312  DB  72,173                              ; lods          %ds:(%rsi),%rax
3313  DB  255,224                             ; jmpq          *%rax
3314
3315PUBLIC _sk_luminance_to_alpha_hsw
3316_sk_luminance_to_alpha_hsw LABEL PROC
3317  DB  196,226,125,24,29,113,11,0,0        ; vbroadcastss  0xb71(%rip),%ymm3        # 40f8 <_sk_callback_hsw+0x3db>
3318  DB  196,98,125,24,5,108,11,0,0          ; vbroadcastss  0xb6c(%rip),%ymm8        # 40fc <_sk_callback_hsw+0x3df>
3319  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
3320  DB  196,226,125,184,203                 ; vfmadd231ps   %ymm3,%ymm0,%ymm1
3321  DB  196,226,125,24,29,93,11,0,0         ; vbroadcastss  0xb5d(%rip),%ymm3        # 4100 <_sk_callback_hsw+0x3e3>
3322  DB  196,226,109,168,217                 ; vfmadd213ps   %ymm1,%ymm2,%ymm3
3323  DB  72,173                              ; lods          %ds:(%rsi),%rax
3324  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
3325  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
3326  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
3327  DB  255,224                             ; jmpq          *%rax
3328
3329PUBLIC _sk_matrix_2x3_hsw
3330_sk_matrix_2x3_hsw LABEL PROC
3331  DB  72,173                              ; lods          %ds:(%rsi),%rax
3332  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
3333  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
3334  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
3335  DB  196,66,117,184,194                  ; vfmadd231ps   %ymm10,%ymm1,%ymm8
3336  DB  196,66,125,184,193                  ; vfmadd231ps   %ymm9,%ymm0,%ymm8
3337  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
3338  DB  196,98,125,24,88,12                 ; vbroadcastss  0xc(%rax),%ymm11
3339  DB  196,98,125,24,72,20                 ; vbroadcastss  0x14(%rax),%ymm9
3340  DB  196,66,117,184,203                  ; vfmadd231ps   %ymm11,%ymm1,%ymm9
3341  DB  196,66,125,184,202                  ; vfmadd231ps   %ymm10,%ymm0,%ymm9
3342  DB  72,173                              ; lods          %ds:(%rsi),%rax
3343  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
3344  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
3345  DB  255,224                             ; jmpq          *%rax
3346
3347PUBLIC _sk_matrix_3x4_hsw
3348_sk_matrix_3x4_hsw LABEL PROC
3349  DB  72,173                              ; lods          %ds:(%rsi),%rax
3350  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
3351  DB  196,98,125,24,80,12                 ; vbroadcastss  0xc(%rax),%ymm10
3352  DB  196,98,125,24,88,24                 ; vbroadcastss  0x18(%rax),%ymm11
3353  DB  196,98,125,24,64,36                 ; vbroadcastss  0x24(%rax),%ymm8
3354  DB  196,66,109,184,195                  ; vfmadd231ps   %ymm11,%ymm2,%ymm8
3355  DB  196,66,117,184,194                  ; vfmadd231ps   %ymm10,%ymm1,%ymm8
3356  DB  196,66,125,184,193                  ; vfmadd231ps   %ymm9,%ymm0,%ymm8
3357  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
3358  DB  196,98,125,24,88,16                 ; vbroadcastss  0x10(%rax),%ymm11
3359  DB  196,98,125,24,96,28                 ; vbroadcastss  0x1c(%rax),%ymm12
3360  DB  196,98,125,24,72,40                 ; vbroadcastss  0x28(%rax),%ymm9
3361  DB  196,66,109,184,204                  ; vfmadd231ps   %ymm12,%ymm2,%ymm9
3362  DB  196,66,117,184,203                  ; vfmadd231ps   %ymm11,%ymm1,%ymm9
3363  DB  196,66,125,184,202                  ; vfmadd231ps   %ymm10,%ymm0,%ymm9
3364  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
3365  DB  196,98,125,24,96,20                 ; vbroadcastss  0x14(%rax),%ymm12
3366  DB  196,98,125,24,104,32                ; vbroadcastss  0x20(%rax),%ymm13
3367  DB  196,98,125,24,80,44                 ; vbroadcastss  0x2c(%rax),%ymm10
3368  DB  196,66,109,184,213                  ; vfmadd231ps   %ymm13,%ymm2,%ymm10
3369  DB  196,66,117,184,212                  ; vfmadd231ps   %ymm12,%ymm1,%ymm10
3370  DB  196,66,125,184,211                  ; vfmadd231ps   %ymm11,%ymm0,%ymm10
3371  DB  72,173                              ; lods          %ds:(%rsi),%rax
3372  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
3373  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
3374  DB  197,124,41,210                      ; vmovaps       %ymm10,%ymm2
3375  DB  255,224                             ; jmpq          *%rax
3376
3377PUBLIC _sk_matrix_4x5_hsw
3378_sk_matrix_4x5_hsw LABEL PROC
3379  DB  72,173                              ; lods          %ds:(%rsi),%rax
3380  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
3381  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
3382  DB  196,98,125,24,88,32                 ; vbroadcastss  0x20(%rax),%ymm11
3383  DB  196,98,125,24,96,48                 ; vbroadcastss  0x30(%rax),%ymm12
3384  DB  196,98,125,24,64,64                 ; vbroadcastss  0x40(%rax),%ymm8
3385  DB  196,66,101,184,196                  ; vfmadd231ps   %ymm12,%ymm3,%ymm8
3386  DB  196,66,109,184,195                  ; vfmadd231ps   %ymm11,%ymm2,%ymm8
3387  DB  196,66,117,184,194                  ; vfmadd231ps   %ymm10,%ymm1,%ymm8
3388  DB  196,66,125,184,193                  ; vfmadd231ps   %ymm9,%ymm0,%ymm8
3389  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
3390  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
3391  DB  196,98,125,24,96,36                 ; vbroadcastss  0x24(%rax),%ymm12
3392  DB  196,98,125,24,104,52                ; vbroadcastss  0x34(%rax),%ymm13
3393  DB  196,98,125,24,72,68                 ; vbroadcastss  0x44(%rax),%ymm9
3394  DB  196,66,101,184,205                  ; vfmadd231ps   %ymm13,%ymm3,%ymm9
3395  DB  196,66,109,184,204                  ; vfmadd231ps   %ymm12,%ymm2,%ymm9
3396  DB  196,66,117,184,203                  ; vfmadd231ps   %ymm11,%ymm1,%ymm9
3397  DB  196,66,125,184,202                  ; vfmadd231ps   %ymm10,%ymm0,%ymm9
3398  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
3399  DB  196,98,125,24,96,24                 ; vbroadcastss  0x18(%rax),%ymm12
3400  DB  196,98,125,24,104,40                ; vbroadcastss  0x28(%rax),%ymm13
3401  DB  196,98,125,24,112,56                ; vbroadcastss  0x38(%rax),%ymm14
3402  DB  196,98,125,24,80,72                 ; vbroadcastss  0x48(%rax),%ymm10
3403  DB  196,66,101,184,214                  ; vfmadd231ps   %ymm14,%ymm3,%ymm10
3404  DB  196,66,109,184,213                  ; vfmadd231ps   %ymm13,%ymm2,%ymm10
3405  DB  196,66,117,184,212                  ; vfmadd231ps   %ymm12,%ymm1,%ymm10
3406  DB  196,66,125,184,211                  ; vfmadd231ps   %ymm11,%ymm0,%ymm10
3407  DB  196,98,125,24,96,12                 ; vbroadcastss  0xc(%rax),%ymm12
3408  DB  196,98,125,24,104,28                ; vbroadcastss  0x1c(%rax),%ymm13
3409  DB  196,98,125,24,112,44                ; vbroadcastss  0x2c(%rax),%ymm14
3410  DB  196,98,125,24,120,60                ; vbroadcastss  0x3c(%rax),%ymm15
3411  DB  196,98,125,24,88,76                 ; vbroadcastss  0x4c(%rax),%ymm11
3412  DB  196,66,101,184,223                  ; vfmadd231ps   %ymm15,%ymm3,%ymm11
3413  DB  196,66,109,184,222                  ; vfmadd231ps   %ymm14,%ymm2,%ymm11
3414  DB  196,66,117,184,221                  ; vfmadd231ps   %ymm13,%ymm1,%ymm11
3415  DB  196,66,125,184,220                  ; vfmadd231ps   %ymm12,%ymm0,%ymm11
3416  DB  72,173                              ; lods          %ds:(%rsi),%rax
3417  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
3418  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
3419  DB  197,124,41,210                      ; vmovaps       %ymm10,%ymm2
3420  DB  197,124,41,219                      ; vmovaps       %ymm11,%ymm3
3421  DB  255,224                             ; jmpq          *%rax
3422
3423PUBLIC _sk_matrix_perspective_hsw
3424_sk_matrix_perspective_hsw LABEL PROC
3425  DB  72,173                              ; lods          %ds:(%rsi),%rax
3426  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
3427  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
3428  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
3429  DB  196,66,117,184,209                  ; vfmadd231ps   %ymm9,%ymm1,%ymm10
3430  DB  196,66,125,184,208                  ; vfmadd231ps   %ymm8,%ymm0,%ymm10
3431  DB  196,98,125,24,64,12                 ; vbroadcastss  0xc(%rax),%ymm8
3432  DB  196,98,125,24,72,16                 ; vbroadcastss  0x10(%rax),%ymm9
3433  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
3434  DB  196,66,117,184,217                  ; vfmadd231ps   %ymm9,%ymm1,%ymm11
3435  DB  196,66,125,184,216                  ; vfmadd231ps   %ymm8,%ymm0,%ymm11
3436  DB  196,98,125,24,64,24                 ; vbroadcastss  0x18(%rax),%ymm8
3437  DB  196,98,125,24,72,28                 ; vbroadcastss  0x1c(%rax),%ymm9
3438  DB  196,98,125,24,96,32                 ; vbroadcastss  0x20(%rax),%ymm12
3439  DB  196,66,117,184,225                  ; vfmadd231ps   %ymm9,%ymm1,%ymm12
3440  DB  196,66,125,184,224                  ; vfmadd231ps   %ymm8,%ymm0,%ymm12
3441  DB  196,193,124,83,204                  ; vrcpps        %ymm12,%ymm1
3442  DB  197,172,89,193                      ; vmulps        %ymm1,%ymm10,%ymm0
3443  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
3444  DB  72,173                              ; lods          %ds:(%rsi),%rax
3445  DB  255,224                             ; jmpq          *%rax
3446
3447PUBLIC _sk_linear_gradient_hsw
3448_sk_linear_gradient_hsw LABEL PROC
3449  DB  72,173                              ; lods          %ds:(%rsi),%rax
3450  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
3451  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
3452  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
3453  DB  196,98,125,24,72,28                 ; vbroadcastss  0x1c(%rax),%ymm9
3454  DB  76,139,0                            ; mov           (%rax),%r8
3455  DB  77,133,192                          ; test          %r8,%r8
3456  DB  15,132,143,0,0,0                    ; je            387b <_sk_linear_gradient_hsw+0xb5>
3457  DB  72,139,64,8                         ; mov           0x8(%rax),%rax
3458  DB  72,131,192,32                       ; add           $0x20,%rax
3459  DB  196,65,28,87,228                    ; vxorps        %ymm12,%ymm12,%ymm12
3460  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
3461  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
3462  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
3463  DB  196,98,125,24,104,224               ; vbroadcastss  -0x20(%rax),%ymm13
3464  DB  196,65,124,194,237,1                ; vcmpltps      %ymm13,%ymm0,%ymm13
3465  DB  196,98,125,24,112,228               ; vbroadcastss  -0x1c(%rax),%ymm14
3466  DB  196,67,13,74,228,208                ; vblendvps     %ymm13,%ymm12,%ymm14,%ymm12
3467  DB  196,98,125,24,112,232               ; vbroadcastss  -0x18(%rax),%ymm14
3468  DB  196,227,13,74,201,208               ; vblendvps     %ymm13,%ymm1,%ymm14,%ymm1
3469  DB  196,98,125,24,112,236               ; vbroadcastss  -0x14(%rax),%ymm14
3470  DB  196,227,13,74,210,208               ; vblendvps     %ymm13,%ymm2,%ymm14,%ymm2
3471  DB  196,98,125,24,112,240               ; vbroadcastss  -0x10(%rax),%ymm14
3472  DB  196,227,13,74,219,208               ; vblendvps     %ymm13,%ymm3,%ymm14,%ymm3
3473  DB  196,98,125,24,112,244               ; vbroadcastss  -0xc(%rax),%ymm14
3474  DB  196,67,13,74,192,208                ; vblendvps     %ymm13,%ymm8,%ymm14,%ymm8
3475  DB  196,98,125,24,112,248               ; vbroadcastss  -0x8(%rax),%ymm14
3476  DB  196,67,13,74,219,208                ; vblendvps     %ymm13,%ymm11,%ymm14,%ymm11
3477  DB  196,98,125,24,112,252               ; vbroadcastss  -0x4(%rax),%ymm14
3478  DB  196,67,13,74,210,208                ; vblendvps     %ymm13,%ymm10,%ymm14,%ymm10
3479  DB  196,98,125,24,48                    ; vbroadcastss  (%rax),%ymm14
3480  DB  196,67,13,74,201,208                ; vblendvps     %ymm13,%ymm9,%ymm14,%ymm9
3481  DB  72,131,192,36                       ; add           $0x24,%rax
3482  DB  73,255,200                          ; dec           %r8
3483  DB  117,140                             ; jne           3805 <_sk_linear_gradient_hsw+0x3f>
3484  DB  235,17                              ; jmp           388c <_sk_linear_gradient_hsw+0xc6>
3485  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
3486  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
3487  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
3488  DB  196,65,28,87,228                    ; vxorps        %ymm12,%ymm12,%ymm12
3489  DB  196,66,125,184,196                  ; vfmadd231ps   %ymm12,%ymm0,%ymm8
3490  DB  196,194,125,168,203                 ; vfmadd213ps   %ymm11,%ymm0,%ymm1
3491  DB  196,194,125,168,210                 ; vfmadd213ps   %ymm10,%ymm0,%ymm2
3492  DB  196,194,125,168,217                 ; vfmadd213ps   %ymm9,%ymm0,%ymm3
3493  DB  72,173                              ; lods          %ds:(%rsi),%rax
3494  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
3495  DB  255,224                             ; jmpq          *%rax
3496
3497PUBLIC _sk_linear_gradient_2stops_hsw
3498_sk_linear_gradient_2stops_hsw LABEL PROC
3499  DB  72,173                              ; lods          %ds:(%rsi),%rax
3500  DB  196,226,125,24,8                    ; vbroadcastss  (%rax),%ymm1
3501  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
3502  DB  196,98,125,184,193                  ; vfmadd231ps   %ymm1,%ymm0,%ymm8
3503  DB  196,226,125,24,80,4                 ; vbroadcastss  0x4(%rax),%ymm2
3504  DB  196,226,125,24,72,20                ; vbroadcastss  0x14(%rax),%ymm1
3505  DB  196,226,125,184,202                 ; vfmadd231ps   %ymm2,%ymm0,%ymm1
3506  DB  196,226,125,24,88,8                 ; vbroadcastss  0x8(%rax),%ymm3
3507  DB  196,226,125,24,80,24                ; vbroadcastss  0x18(%rax),%ymm2
3508  DB  196,226,125,184,211                 ; vfmadd231ps   %ymm3,%ymm0,%ymm2
3509  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
3510  DB  196,226,125,24,88,28                ; vbroadcastss  0x1c(%rax),%ymm3
3511  DB  196,194,125,184,217                 ; vfmadd231ps   %ymm9,%ymm0,%ymm3
3512  DB  72,173                              ; lods          %ds:(%rsi),%rax
3513  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
3514  DB  255,224                             ; jmpq          *%rax
3515
3516PUBLIC _sk_xy_to_polar_unit_hsw
3517_sk_xy_to_polar_unit_hsw LABEL PROC
3518  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
3519  DB  197,60,92,200                       ; vsubps        %ymm0,%ymm8,%ymm9
3520  DB  197,52,84,200                       ; vandps        %ymm0,%ymm9,%ymm9
3521  DB  197,60,92,209                       ; vsubps        %ymm1,%ymm8,%ymm10
3522  DB  197,44,84,209                       ; vandps        %ymm1,%ymm10,%ymm10
3523  DB  196,65,52,93,218                    ; vminps        %ymm10,%ymm9,%ymm11
3524  DB  196,65,52,95,226                    ; vmaxps        %ymm10,%ymm9,%ymm12
3525  DB  196,65,36,94,220                    ; vdivps        %ymm12,%ymm11,%ymm11
3526  DB  196,65,36,89,227                    ; vmulps        %ymm11,%ymm11,%ymm12
3527  DB  196,98,125,24,45,221,7,0,0          ; vbroadcastss  0x7dd(%rip),%ymm13        # 4104 <_sk_callback_hsw+0x3e7>
3528  DB  196,98,125,24,53,216,7,0,0          ; vbroadcastss  0x7d8(%rip),%ymm14        # 4108 <_sk_callback_hsw+0x3eb>
3529  DB  196,66,29,184,245                   ; vfmadd231ps   %ymm13,%ymm12,%ymm14
3530  DB  196,98,125,24,45,206,7,0,0          ; vbroadcastss  0x7ce(%rip),%ymm13        # 410c <_sk_callback_hsw+0x3ef>
3531  DB  196,66,29,184,238                   ; vfmadd231ps   %ymm14,%ymm12,%ymm13
3532  DB  196,98,125,24,53,196,7,0,0          ; vbroadcastss  0x7c4(%rip),%ymm14        # 4110 <_sk_callback_hsw+0x3f3>
3533  DB  196,66,29,184,245                   ; vfmadd231ps   %ymm13,%ymm12,%ymm14
3534  DB  196,65,36,89,222                    ; vmulps        %ymm14,%ymm11,%ymm11
3535  DB  196,65,52,194,202,1                 ; vcmpltps      %ymm10,%ymm9,%ymm9
3536  DB  196,98,125,24,21,175,7,0,0          ; vbroadcastss  0x7af(%rip),%ymm10        # 4114 <_sk_callback_hsw+0x3f7>
3537  DB  196,65,44,92,211                    ; vsubps        %ymm11,%ymm10,%ymm10
3538  DB  196,67,37,74,202,144                ; vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
3539  DB  196,193,124,194,192,1               ; vcmpltps      %ymm8,%ymm0,%ymm0
3540  DB  196,98,125,24,21,153,7,0,0          ; vbroadcastss  0x799(%rip),%ymm10        # 4118 <_sk_callback_hsw+0x3fb>
3541  DB  196,65,44,92,209                    ; vsubps        %ymm9,%ymm10,%ymm10
3542  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
3543  DB  196,65,116,194,200,1                ; vcmpltps      %ymm8,%ymm1,%ymm9
3544  DB  196,98,125,24,21,131,7,0,0          ; vbroadcastss  0x783(%rip),%ymm10        # 411c <_sk_callback_hsw+0x3ff>
3545  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
3546  DB  196,195,125,74,194,144              ; vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
3547  DB  196,65,124,194,200,3                ; vcmpunordps   %ymm8,%ymm0,%ymm9
3548  DB  196,195,125,74,192,144              ; vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
3549  DB  72,173                              ; lods          %ds:(%rsi),%rax
3550  DB  255,224                             ; jmpq          *%rax
3551
3552PUBLIC _sk_save_xy_hsw
3553_sk_save_xy_hsw LABEL PROC
3554  DB  72,173                              ; lods          %ds:(%rsi),%rax
3555  DB  196,98,125,24,5,98,7,0,0            ; vbroadcastss  0x762(%rip),%ymm8        # 4120 <_sk_callback_hsw+0x403>
3556  DB  196,65,124,88,200                   ; vaddps        %ymm8,%ymm0,%ymm9
3557  DB  196,67,125,8,209,1                  ; vroundps      $0x1,%ymm9,%ymm10
3558  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
3559  DB  196,65,116,88,192                   ; vaddps        %ymm8,%ymm1,%ymm8
3560  DB  196,67,125,8,208,1                  ; vroundps      $0x1,%ymm8,%ymm10
3561  DB  196,65,60,92,194                    ; vsubps        %ymm10,%ymm8,%ymm8
3562  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
3563  DB  197,252,17,72,32                    ; vmovups       %ymm1,0x20(%rax)
3564  DB  197,124,17,72,64                    ; vmovups       %ymm9,0x40(%rax)
3565  DB  197,124,17,64,96                    ; vmovups       %ymm8,0x60(%rax)
3566  DB  72,173                              ; lods          %ds:(%rsi),%rax
3567  DB  255,224                             ; jmpq          *%rax
3568
3569PUBLIC _sk_accumulate_hsw
3570_sk_accumulate_hsw LABEL PROC
3571  DB  72,173                              ; lods          %ds:(%rsi),%rax
3572  DB  197,124,16,128,128,0,0,0            ; vmovups       0x80(%rax),%ymm8
3573  DB  197,60,89,128,160,0,0,0             ; vmulps        0xa0(%rax),%ymm8,%ymm8
3574  DB  196,226,61,184,224                  ; vfmadd231ps   %ymm0,%ymm8,%ymm4
3575  DB  196,226,61,184,233                  ; vfmadd231ps   %ymm1,%ymm8,%ymm5
3576  DB  196,226,61,184,242                  ; vfmadd231ps   %ymm2,%ymm8,%ymm6
3577  DB  196,98,101,168,199                  ; vfmadd213ps   %ymm7,%ymm3,%ymm8
3578  DB  72,173                              ; lods          %ds:(%rsi),%rax
3579  DB  197,124,41,199                      ; vmovaps       %ymm8,%ymm7
3580  DB  255,224                             ; jmpq          *%rax
3581
3582PUBLIC _sk_bilinear_nx_hsw
3583_sk_bilinear_nx_hsw LABEL PROC
3584  DB  72,173                              ; lods          %ds:(%rsi),%rax
3585  DB  196,226,125,24,5,246,6,0,0          ; vbroadcastss  0x6f6(%rip),%ymm0        # 4124 <_sk_callback_hsw+0x407>
3586  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
3587  DB  196,98,125,24,5,237,6,0,0           ; vbroadcastss  0x6ed(%rip),%ymm8        # 4128 <_sk_callback_hsw+0x40b>
3588  DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
3589  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
3590  DB  72,173                              ; lods          %ds:(%rsi),%rax
3591  DB  255,224                             ; jmpq          *%rax
3592
3593PUBLIC _sk_bilinear_px_hsw
3594_sk_bilinear_px_hsw LABEL PROC
3595  DB  72,173                              ; lods          %ds:(%rsi),%rax
3596  DB  196,226,125,24,5,213,6,0,0          ; vbroadcastss  0x6d5(%rip),%ymm0        # 412c <_sk_callback_hsw+0x40f>
3597  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
3598  DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
3599  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
3600  DB  72,173                              ; lods          %ds:(%rsi),%rax
3601  DB  255,224                             ; jmpq          *%rax
3602
3603PUBLIC _sk_bilinear_ny_hsw
3604_sk_bilinear_ny_hsw LABEL PROC
3605  DB  72,173                              ; lods          %ds:(%rsi),%rax
3606  DB  196,226,125,24,13,185,6,0,0         ; vbroadcastss  0x6b9(%rip),%ymm1        # 4130 <_sk_callback_hsw+0x413>
3607  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
3608  DB  196,98,125,24,5,175,6,0,0           ; vbroadcastss  0x6af(%rip),%ymm8        # 4134 <_sk_callback_hsw+0x417>
3609  DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
3610  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
3611  DB  72,173                              ; lods          %ds:(%rsi),%rax
3612  DB  255,224                             ; jmpq          *%rax
3613
3614PUBLIC _sk_bilinear_py_hsw
3615_sk_bilinear_py_hsw LABEL PROC
3616  DB  72,173                              ; lods          %ds:(%rsi),%rax
3617  DB  196,226,125,24,13,151,6,0,0         ; vbroadcastss  0x697(%rip),%ymm1        # 4138 <_sk_callback_hsw+0x41b>
3618  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
3619  DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
3620  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
3621  DB  72,173                              ; lods          %ds:(%rsi),%rax
3622  DB  255,224                             ; jmpq          *%rax
3623
3624PUBLIC _sk_bicubic_n3x_hsw
3625_sk_bicubic_n3x_hsw LABEL PROC
3626  DB  72,173                              ; lods          %ds:(%rsi),%rax
3627  DB  196,226,125,24,5,122,6,0,0          ; vbroadcastss  0x67a(%rip),%ymm0        # 413c <_sk_callback_hsw+0x41f>
3628  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
3629  DB  196,98,125,24,5,113,6,0,0           ; vbroadcastss  0x671(%rip),%ymm8        # 4140 <_sk_callback_hsw+0x423>
3630  DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
3631  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
3632  DB  196,98,125,24,21,98,6,0,0           ; vbroadcastss  0x662(%rip),%ymm10        # 4144 <_sk_callback_hsw+0x427>
3633  DB  196,98,125,24,29,93,6,0,0           ; vbroadcastss  0x65d(%rip),%ymm11        # 4148 <_sk_callback_hsw+0x42b>
3634  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
3635  DB  196,65,36,89,193                    ; vmulps        %ymm9,%ymm11,%ymm8
3636  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
3637  DB  72,173                              ; lods          %ds:(%rsi),%rax
3638  DB  255,224                             ; jmpq          *%rax
3639
3640PUBLIC _sk_bicubic_n1x_hsw
3641_sk_bicubic_n1x_hsw LABEL PROC
3642  DB  72,173                              ; lods          %ds:(%rsi),%rax
3643  DB  196,226,125,24,5,64,6,0,0           ; vbroadcastss  0x640(%rip),%ymm0        # 414c <_sk_callback_hsw+0x42f>
3644  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
3645  DB  196,98,125,24,5,55,6,0,0            ; vbroadcastss  0x637(%rip),%ymm8        # 4150 <_sk_callback_hsw+0x433>
3646  DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
3647  DB  196,98,125,24,13,45,6,0,0           ; vbroadcastss  0x62d(%rip),%ymm9        # 4154 <_sk_callback_hsw+0x437>
3648  DB  196,98,125,24,21,40,6,0,0           ; vbroadcastss  0x628(%rip),%ymm10        # 4158 <_sk_callback_hsw+0x43b>
3649  DB  196,66,61,168,209                   ; vfmadd213ps   %ymm9,%ymm8,%ymm10
3650  DB  196,98,125,24,13,30,6,0,0           ; vbroadcastss  0x61e(%rip),%ymm9        # 415c <_sk_callback_hsw+0x43f>
3651  DB  196,66,61,184,202                   ; vfmadd231ps   %ymm10,%ymm8,%ymm9
3652  DB  196,98,125,24,21,20,6,0,0           ; vbroadcastss  0x614(%rip),%ymm10        # 4160 <_sk_callback_hsw+0x443>
3653  DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
3654  DB  197,124,17,144,128,0,0,0            ; vmovups       %ymm10,0x80(%rax)
3655  DB  72,173                              ; lods          %ds:(%rsi),%rax
3656  DB  255,224                             ; jmpq          *%rax
3657
3658PUBLIC _sk_bicubic_p1x_hsw
3659_sk_bicubic_p1x_hsw LABEL PROC
3660  DB  72,173                              ; lods          %ds:(%rsi),%rax
3661  DB  196,98,125,24,5,252,5,0,0           ; vbroadcastss  0x5fc(%rip),%ymm8        # 4164 <_sk_callback_hsw+0x447>
3662  DB  197,188,88,0                        ; vaddps        (%rax),%ymm8,%ymm0
3663  DB  197,124,16,72,64                    ; vmovups       0x40(%rax),%ymm9
3664  DB  196,98,125,24,21,238,5,0,0          ; vbroadcastss  0x5ee(%rip),%ymm10        # 4168 <_sk_callback_hsw+0x44b>
3665  DB  196,98,125,24,29,233,5,0,0          ; vbroadcastss  0x5e9(%rip),%ymm11        # 416c <_sk_callback_hsw+0x44f>
3666  DB  196,66,53,168,218                   ; vfmadd213ps   %ymm10,%ymm9,%ymm11
3667  DB  196,66,53,168,216                   ; vfmadd213ps   %ymm8,%ymm9,%ymm11
3668  DB  196,98,125,24,5,218,5,0,0           ; vbroadcastss  0x5da(%rip),%ymm8        # 4170 <_sk_callback_hsw+0x453>
3669  DB  196,66,53,184,195                   ; vfmadd231ps   %ymm11,%ymm9,%ymm8
3670  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
3671  DB  72,173                              ; lods          %ds:(%rsi),%rax
3672  DB  255,224                             ; jmpq          *%rax
3673
3674PUBLIC _sk_bicubic_p3x_hsw
3675_sk_bicubic_p3x_hsw LABEL PROC
3676  DB  72,173                              ; lods          %ds:(%rsi),%rax
3677  DB  196,226,125,24,5,194,5,0,0          ; vbroadcastss  0x5c2(%rip),%ymm0        # 4174 <_sk_callback_hsw+0x457>
3678  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
3679  DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
3680  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
3681  DB  196,98,125,24,21,175,5,0,0          ; vbroadcastss  0x5af(%rip),%ymm10        # 4178 <_sk_callback_hsw+0x45b>
3682  DB  196,98,125,24,29,170,5,0,0          ; vbroadcastss  0x5aa(%rip),%ymm11        # 417c <_sk_callback_hsw+0x45f>
3683  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
3684  DB  196,65,52,89,195                    ; vmulps        %ymm11,%ymm9,%ymm8
3685  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
3686  DB  72,173                              ; lods          %ds:(%rsi),%rax
3687  DB  255,224                             ; jmpq          *%rax
3688
3689PUBLIC _sk_bicubic_n3y_hsw
3690_sk_bicubic_n3y_hsw LABEL PROC
3691  DB  72,173                              ; lods          %ds:(%rsi),%rax
3692  DB  196,226,125,24,13,141,5,0,0         ; vbroadcastss  0x58d(%rip),%ymm1        # 4180 <_sk_callback_hsw+0x463>
3693  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
3694  DB  196,98,125,24,5,131,5,0,0           ; vbroadcastss  0x583(%rip),%ymm8        # 4184 <_sk_callback_hsw+0x467>
3695  DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
3696  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
3697  DB  196,98,125,24,21,116,5,0,0          ; vbroadcastss  0x574(%rip),%ymm10        # 4188 <_sk_callback_hsw+0x46b>
3698  DB  196,98,125,24,29,111,5,0,0          ; vbroadcastss  0x56f(%rip),%ymm11        # 418c <_sk_callback_hsw+0x46f>
3699  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
3700  DB  196,65,36,89,193                    ; vmulps        %ymm9,%ymm11,%ymm8
3701  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
3702  DB  72,173                              ; lods          %ds:(%rsi),%rax
3703  DB  255,224                             ; jmpq          *%rax
3704
3705PUBLIC _sk_bicubic_n1y_hsw
3706_sk_bicubic_n1y_hsw LABEL PROC
3707  DB  72,173                              ; lods          %ds:(%rsi),%rax
3708  DB  196,226,125,24,13,82,5,0,0          ; vbroadcastss  0x552(%rip),%ymm1        # 4190 <_sk_callback_hsw+0x473>
3709  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
3710  DB  196,98,125,24,5,72,5,0,0            ; vbroadcastss  0x548(%rip),%ymm8        # 4194 <_sk_callback_hsw+0x477>
3711  DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
3712  DB  196,98,125,24,13,62,5,0,0           ; vbroadcastss  0x53e(%rip),%ymm9        # 4198 <_sk_callback_hsw+0x47b>
3713  DB  196,98,125,24,21,57,5,0,0           ; vbroadcastss  0x539(%rip),%ymm10        # 419c <_sk_callback_hsw+0x47f>
3714  DB  196,66,61,168,209                   ; vfmadd213ps   %ymm9,%ymm8,%ymm10
3715  DB  196,98,125,24,13,47,5,0,0           ; vbroadcastss  0x52f(%rip),%ymm9        # 41a0 <_sk_callback_hsw+0x483>
3716  DB  196,66,61,184,202                   ; vfmadd231ps   %ymm10,%ymm8,%ymm9
3717  DB  196,98,125,24,21,37,5,0,0           ; vbroadcastss  0x525(%rip),%ymm10        # 41a4 <_sk_callback_hsw+0x487>
3718  DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
3719  DB  197,124,17,144,160,0,0,0            ; vmovups       %ymm10,0xa0(%rax)
3720  DB  72,173                              ; lods          %ds:(%rsi),%rax
3721  DB  255,224                             ; jmpq          *%rax
3722
3723PUBLIC _sk_bicubic_p1y_hsw
3724_sk_bicubic_p1y_hsw LABEL PROC
3725  DB  72,173                              ; lods          %ds:(%rsi),%rax
3726  DB  196,98,125,24,5,13,5,0,0            ; vbroadcastss  0x50d(%rip),%ymm8        # 41a8 <_sk_callback_hsw+0x48b>
3727  DB  197,188,88,72,32                    ; vaddps        0x20(%rax),%ymm8,%ymm1
3728  DB  197,124,16,72,96                    ; vmovups       0x60(%rax),%ymm9
3729  DB  196,98,125,24,21,254,4,0,0          ; vbroadcastss  0x4fe(%rip),%ymm10        # 41ac <_sk_callback_hsw+0x48f>
3730  DB  196,98,125,24,29,249,4,0,0          ; vbroadcastss  0x4f9(%rip),%ymm11        # 41b0 <_sk_callback_hsw+0x493>
3731  DB  196,66,53,168,218                   ; vfmadd213ps   %ymm10,%ymm9,%ymm11
3732  DB  196,66,53,168,216                   ; vfmadd213ps   %ymm8,%ymm9,%ymm11
3733  DB  196,98,125,24,5,234,4,0,0           ; vbroadcastss  0x4ea(%rip),%ymm8        # 41b4 <_sk_callback_hsw+0x497>
3734  DB  196,66,53,184,195                   ; vfmadd231ps   %ymm11,%ymm9,%ymm8
3735  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
3736  DB  72,173                              ; lods          %ds:(%rsi),%rax
3737  DB  255,224                             ; jmpq          *%rax
3738
3739PUBLIC _sk_bicubic_p3y_hsw
3740_sk_bicubic_p3y_hsw LABEL PROC
3741  DB  72,173                              ; lods          %ds:(%rsi),%rax
3742  DB  196,226,125,24,13,210,4,0,0         ; vbroadcastss  0x4d2(%rip),%ymm1        # 41b8 <_sk_callback_hsw+0x49b>
3743  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
3744  DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
3745  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
3746  DB  196,98,125,24,21,190,4,0,0          ; vbroadcastss  0x4be(%rip),%ymm10        # 41bc <_sk_callback_hsw+0x49f>
3747  DB  196,98,125,24,29,185,4,0,0          ; vbroadcastss  0x4b9(%rip),%ymm11        # 41c0 <_sk_callback_hsw+0x4a3>
3748  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
3749  DB  196,65,52,89,195                    ; vmulps        %ymm11,%ymm9,%ymm8
3750  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
3751  DB  72,173                              ; lods          %ds:(%rsi),%rax
3752  DB  255,224                             ; jmpq          *%rax
3753
3754PUBLIC _sk_callback_hsw
3755_sk_callback_hsw LABEL PROC
3756  DB  65,87                               ; push          %r15
3757  DB  65,86                               ; push          %r14
3758  DB  83                                  ; push          %rbx
3759  DB  72,129,236,160,0,0,0                ; sub           $0xa0,%rsp
3760  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
3761  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
3762  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
3763  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
3764  DB  73,137,207                          ; mov           %rcx,%r15
3765  DB  73,137,214                          ; mov           %rdx,%r14
3766  DB  72,173                              ; lods          %ds:(%rsi),%rax
3767  DB  72,137,195                          ; mov           %rax,%rbx
3768  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
3769  DB  197,252,21,193                      ; vunpckhps     %ymm1,%ymm0,%ymm0
3770  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
3771  DB  197,236,21,211                      ; vunpckhps     %ymm3,%ymm2,%ymm2
3772  DB  197,221,20,217                      ; vunpcklpd     %ymm1,%ymm4,%ymm3
3773  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
3774  DB  197,253,20,226                      ; vunpcklpd     %ymm2,%ymm0,%ymm4
3775  DB  197,253,21,194                      ; vunpckhpd     %ymm2,%ymm0,%ymm0
3776  DB  196,227,101,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
3777  DB  196,227,93,24,232,1                 ; vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
3778  DB  196,227,101,6,201,49                ; vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
3779  DB  196,227,93,6,192,49                 ; vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
3780  DB  197,253,17,83,8                     ; vmovupd       %ymm2,0x8(%rbx)
3781  DB  197,253,17,107,40                   ; vmovupd       %ymm5,0x28(%rbx)
3782  DB  197,253,17,75,72                    ; vmovupd       %ymm1,0x48(%rbx)
3783  DB  197,253,17,67,104                   ; vmovupd       %ymm0,0x68(%rbx)
3784  DB  77,133,255                          ; test          %r15,%r15
3785  DB  186,8,0,0,0                         ; mov           $0x8,%edx
3786  DB  65,15,69,215                        ; cmovne        %r15d,%edx
3787  DB  72,137,217                          ; mov           %rbx,%rcx
3788  DB  197,248,119                         ; vzeroupper
3789  DB  255,19                              ; callq         *(%rbx)
3790  DB  72,139,131,136,0,0,0                ; mov           0x88(%rbx),%rax
3791  DB  197,248,16,0                        ; vmovups       (%rax),%xmm0
3792  DB  197,248,16,72,16                    ; vmovups       0x10(%rax),%xmm1
3793  DB  197,248,16,80,32                    ; vmovups       0x20(%rax),%xmm2
3794  DB  197,248,16,88,48                    ; vmovups       0x30(%rax),%xmm3
3795  DB  196,227,101,24,88,112,1             ; vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
3796  DB  196,227,109,24,80,96,1              ; vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
3797  DB  196,227,117,24,72,80,1              ; vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
3798  DB  196,227,125,24,64,64,1              ; vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
3799  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
3800  DB  197,252,21,233                      ; vunpckhps     %ymm1,%ymm0,%ymm5
3801  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
3802  DB  197,236,21,219                      ; vunpckhps     %ymm3,%ymm2,%ymm3
3803  DB  197,221,20,193                      ; vunpcklpd     %ymm1,%ymm4,%ymm0
3804  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
3805  DB  197,213,20,211                      ; vunpcklpd     %ymm3,%ymm5,%ymm2
3806  DB  197,213,21,219                      ; vunpckhpd     %ymm3,%ymm5,%ymm3
3807  DB  72,173                              ; lods          %ds:(%rsi),%rax
3808  DB  76,137,242                          ; mov           %r14,%rdx
3809  DB  76,137,249                          ; mov           %r15,%rcx
3810  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
3811  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
3812  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
3813  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
3814  DB  72,129,196,160,0,0,0                ; add           $0xa0,%rsp
3815  DB  91                                  ; pop           %rbx
3816  DB  65,94                               ; pop           %r14
3817  DB  65,95                               ; pop           %r15
3818  DB  255,224                             ; jmpq          *%rax
3819
3820ALIGN 4
3821  DB  0,0                                 ; add           %al,(%rax)
3822  DB  0,63                                ; add           %bh,(%rdi)
3823  DB  0,0                                 ; add           %al,(%rax)
3824  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
3825  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
3826  DB  63                                  ; (bad)
3827  DB  0,0                                 ; add           %al,(%rax)
3828  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
3829  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
3830  DB  63                                  ; (bad)
3831  DB  0,0                                 ; add           %al,(%rax)
3832  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
3833  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
3834  DB  63                                  ; (bad)
3835  DB  0,0                                 ; add           %al,(%rax)
3836  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
3837  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
3838  DB  63                                  ; (bad)
3839  DB  0,0                                 ; add           %al,(%rax)
3840  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
3841  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
3842  DB  63                                  ; (bad)
3843  DB  0,0                                 ; add           %al,(%rax)
3844  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
3845  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
3846  DB  63                                  ; (bad)
3847  DB  0,0                                 ; add           %al,(%rax)
3848  DB  128,191,0,0,224,64,0                ; cmpb          $0x0,0x40e00000(%rdi)
3849  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
3850  DB  63                                  ; (bad)
3851  DB  0,0                                 ; add           %al,(%rax)
3852  DB  128,63,145                          ; cmpb          $0x91,(%rdi)
3853  DB  131,158,61,92,143,50,63             ; sbbl          $0x3f,0x328f5c3d(%rsi)
3854  DB  154                                 ; (bad)
3855  DB  153                                 ; cltd
3856  DB  153                                 ; cltd
3857  DB  62,10,215                           ; ds            or  %bh,%dl
3858  DB  35,59                               ; and           (%rbx),%edi
3859  DB  174                                 ; scas          %es:(%rdi),%al
3860  DB  71,97                               ; rex.RXB       (bad)
3861  DB  61,41,92,71,65                      ; cmp           $0x41475c29,%eax
3862  DB  168,87                              ; test          $0x57,%al
3863  DB  202,189,206                         ; lret          $0xcebd
3864  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
3865  DB  48,63                               ; xor           %bh,(%rdi)
3866  DB  194,135,210                         ; retq          $0xd287
3867  DB  62,0,0                              ; add           %al,%ds:(%rax)
3868  DB  128,63,4                            ; cmpb          $0x4,(%rdi)
3869  DB  231,140                             ; out           %eax,$0x8c
3870  DB  59,0                                ; cmp           (%rax),%eax
3871  DB  0,128,63,0,0,192                    ; add           %al,-0x3fffffc1(%rax)
3872  DB  64,0,0                              ; add           %al,(%rax)
3873  DB  0,64,0                              ; add           %al,0x0(%rax)
3874  DB  0,128,64,171,170,42                 ; add           %al,0x2aaaab40(%rax)
3875  DB  62,0,0                              ; add           %al,%ds:(%rax)
3876  DB  0,63                                ; add           %bh,(%rdi)
3877  DB  0,0                                 ; add           %al,(%rax)
3878  DB  0,63                                ; add           %bh,(%rdi)
3879  DB  0,0                                 ; add           %al,(%rax)
3880  DB  0,64,171                            ; add           %al,-0x55(%rax)
3881  DB  170                                 ; stos          %al,%es:(%rdi)
3882  DB  170                                 ; stos          %al,%es:(%rdi)
3883  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
3884  DB  170                                 ; stos          %al,%es:(%rdi)
3885  DB  42,63                               ; sub           (%rdi),%bh
3886  DB  0,0                                 ; add           %al,(%rax)
3887  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
3888  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%rax)
3889  DB  42,62                               ; sub           (%rsi),%bh
3890  DB  171                                 ; stos          %eax,%es:(%rdi)
3891  DB  170                                 ; stos          %al,%es:(%rdi)
3892  DB  170                                 ; stos          %al,%es:(%rdi)
3893  DB  190,129,128,128,59                  ; mov           $0x3b808081,%esi
3894  DB  129,128,128,59,0,248,0,0,8,33       ; addl          $0x21080000,-0x7ffc480(%rax)
3895  DB  132,55                              ; test          %dh,(%rdi)
3896  DB  224,7                               ; loopne        3f15 <.literal4+0xdd>
3897  DB  0,0                                 ; add           %al,(%rax)
3898  DB  33,8                                ; and           %ecx,(%rax)
3899  DB  2,58                                ; add           (%rdx),%bh
3900  DB  31                                  ; (bad)
3901  DB  0,0                                 ; add           %al,(%rax)
3902  DB  0,8                                 ; add           %cl,(%rax)
3903  DB  33,4,61,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
3904  DB  129,128,128,59,128,0,128,55,0,0     ; addl          $0x3780,0x803b80(%rax)
3905  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
3906  DB  0,127,67                            ; add           %bh,0x43(%rdi)
3907  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
3908  DB  0,52,255                            ; add           %dh,(%rdi,%rdi,8)
3909  DB  255                                 ; (bad)
3910  DB  127,0                               ; jg            3f40 <.literal4+0x108>
3911  DB  0,0                                 ; add           %al,(%rax)
3912  DB  0,63                                ; add           %bh,(%rdi)
3913  DB  119,115                             ; ja            3fb9 <.literal4+0x181>
3914  DB  248                                 ; clc
3915  DB  194,117,191                         ; retq          $0xbf75
3916  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
3917  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
3918  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
3919  DB  154                                 ; (bad)
3920  DB  64,254                              ; rex           (bad)
3921  DB  210,221                             ; rcr           %cl,%ch
3922  DB  65,0,0                              ; add           %al,(%r8)
3923  DB  0,75,0                              ; add           %cl,0x0(%rbx)
3924  DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
3925  DB  52,255                              ; xor           $0xff,%al
3926  DB  255                                 ; (bad)
3927  DB  127,0                               ; jg            3f74 <.literal4+0x13c>
3928  DB  0,0                                 ; add           %al,(%rax)
3929  DB  0,63                                ; add           %bh,(%rdi)
3930  DB  119,115                             ; ja            3fed <.literal4+0x1b5>
3931  DB  248                                 ; clc
3932  DB  194,117,191                         ; retq          $0xbf75
3933  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
3934  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
3935  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
3936  DB  154                                 ; (bad)
3937  DB  64,254                              ; rex           (bad)
3938  DB  210,221                             ; rcr           %cl,%ch
3939  DB  65,0,0                              ; add           %al,(%r8)
3940  DB  0,75,0                              ; add           %cl,0x0(%rbx)
3941  DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
3942  DB  52,255                              ; xor           $0xff,%al
3943  DB  255                                 ; (bad)
3944  DB  127,0                               ; jg            3fa8 <.literal4+0x170>
3945  DB  0,0                                 ; add           %al,(%rax)
3946  DB  0,63                                ; add           %bh,(%rdi)
3947  DB  119,115                             ; ja            4021 <.literal4+0x1e9>
3948  DB  248                                 ; clc
3949  DB  194,117,191                         ; retq          $0xbf75
3950  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
3951  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
3952  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
3953  DB  154                                 ; (bad)
3954  DB  64,254                              ; rex           (bad)
3955  DB  210,221                             ; rcr           %cl,%ch
3956  DB  65,0,0                              ; add           %al,(%r8)
3957  DB  0,75,0                              ; add           %cl,0x0(%rbx)
3958  DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
3959  DB  52,255                              ; xor           $0xff,%al
3960  DB  255                                 ; (bad)
3961  DB  127,0                               ; jg            3fdc <.literal4+0x1a4>
3962  DB  0,0                                 ; add           %al,(%rax)
3963  DB  0,63                                ; add           %bh,(%rdi)
3964  DB  119,115                             ; ja            4055 <.literal4+0x21d>
3965  DB  248                                 ; clc
3966  DB  194,117,191                         ; retq          $0xbf75
3967  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
3968  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
3969  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
3970  DB  154                                 ; (bad)
3971  DB  64,254                              ; rex           (bad)
3972  DB  210,221                             ; rcr           %cl,%ch
3973  DB  65,0,0                              ; add           %al,(%r8)
3974  DB  0,75,0                              ; add           %cl,0x0(%rbx)
3975  DB  0,128,63,0,0,200                    ; add           %al,-0x37ffffc1(%rax)
3976  DB  66,0,0                              ; rex.X         add %al,(%rax)
3977  DB  127,67                              ; jg            4053 <.literal4+0x21b>
3978  DB  0,0                                 ; add           %al,(%rax)
3979  DB  0,195                               ; add           %al,%bl
3980  DB  0,0                                 ; add           %al,(%rax)
3981  DB  128,65,203,61                       ; addb          $0x3d,-0x35(%rcx)
3982  DB  13,60,111,18,3                      ; or            $0x3126f3c,%eax
3983  DB  59,10                               ; cmp           (%rdx),%ecx
3984  DB  215                                 ; xlat          %ds:(%rbx)
3985  DB  163,59,194,24,17,60,203,61,13       ; movabs        %eax,0xd3dcb3c1118c23b
3986  DB  190,80,128,3,62                     ; mov           $0x3e038050,%esi
3987  DB  31                                  ; (bad)
3988  DB  215                                 ; xlat          %ds:(%rbx)
3989  DB  118,63                              ; jbe           4073 <.literal4+0x23b>
3990  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
3991  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
3992  DB  127,67                              ; jg            4087 <.literal4+0x24f>
3993  DB  129,128,128,59,0,0,128,63,129,128   ; addl          $0x80813f80,0x3b80(%rax)
3994  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
3995  DB  0,128,63,129,128,128                ; add           %al,-0x7f7f7ec1(%rax)
3996  DB  59,0                                ; cmp           (%rax),%eax
3997  DB  248                                 ; clc
3998  DB  0,0                                 ; add           %al,(%rax)
3999  DB  8,33                                ; or            %ah,(%rcx)
4000  DB  132,55                              ; test          %dh,(%rdi)
4001  DB  224,7                               ; loopne        4069 <.literal4+0x231>
4002  DB  0,0                                 ; add           %al,(%rax)
4003  DB  33,8                                ; and           %ecx,(%rax)
4004  DB  2,58                                ; add           (%rdx),%bh
4005  DB  31                                  ; (bad)
4006  DB  0,0                                 ; add           %al,(%rax)
4007  DB  0,8                                 ; add           %cl,(%rax)
4008  DB  33,4,61,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
4009  DB  0,248                               ; add           %bh,%al
4010  DB  0,0                                 ; add           %al,(%rax)
4011  DB  8,33                                ; or            %ah,(%rcx)
4012  DB  132,55                              ; test          %dh,(%rdi)
4013  DB  224,7                               ; loopne        4085 <.literal4+0x24d>
4014  DB  0,0                                 ; add           %al,(%rax)
4015  DB  33,8                                ; and           %ecx,(%rax)
4016  DB  2,58                                ; add           (%rdx),%bh
4017  DB  31                                  ; (bad)
4018  DB  0,0                                 ; add           %al,(%rax)
4019  DB  0,8                                 ; add           %cl,(%rax)
4020  DB  33,4,61,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
4021  DB  0,0                                 ; add           %al,(%rax)
4022  DB  248                                 ; clc
4023  DB  65,0,0                              ; add           %al,(%r8)
4024  DB  124,66                              ; jl            40da <.literal4+0x2a2>
4025  DB  0,240                               ; add           %dh,%al
4026  DB  0,0                                 ; add           %al,(%rax)
4027  DB  137,136,136,55,0,15                 ; mov           %ecx,0xf003788(%rax)
4028  DB  0,0                                 ; add           %al,(%rax)
4029  DB  137,136,136,57,240,0                ; mov           %ecx,0xf03988(%rax)
4030  DB  0,0                                 ; add           %al,(%rax)
4031  DB  137,136,136,59,15,0                 ; mov           %ecx,0xf3b88(%rax)
4032  DB  0,0                                 ; add           %al,(%rax)
4033  DB  137,136,136,61,0,240                ; mov           %ecx,-0xfffc278(%rax)
4034  DB  0,0                                 ; add           %al,(%rax)
4035  DB  137,136,136,55,0,15                 ; mov           %ecx,0xf003788(%rax)
4036  DB  0,0                                 ; add           %al,(%rax)
4037  DB  137,136,136,57,240,0                ; mov           %ecx,0xf03988(%rax)
4038  DB  0,0                                 ; add           %al,(%rax)
4039  DB  137,136,136,59,15,0                 ; mov           %ecx,0xf3b88(%rax)
4040  DB  0,0                                 ; add           %al,(%rax)
4041  DB  137,136,136,61,0,0                  ; mov           %ecx,0x3d88(%rax)
4042  DB  112,65                              ; jo            411d <.literal4+0x2e5>
4043  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
4044  DB  127,67                              ; jg            412b <.literal4+0x2f3>
4045  DB  128,0,128                           ; addb          $0x80,(%rax)
4046  DB  55                                  ; (bad)
4047  DB  128,0,128                           ; addb          $0x80,(%rax)
4048  DB  55                                  ; (bad)
4049  DB  0,0                                 ; add           %al,(%rax)
4050  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
4051  DB  255                                 ; (bad)
4052  DB  127,71                              ; jg            413f <.literal4+0x307>
4053  DB  208                                 ; (bad)
4054  DB  179,89                              ; mov           $0x59,%bl
4055  DB  62,89                               ; ds            pop %rcx
4056  DB  23                                  ; (bad)
4057  DB  55                                  ; (bad)
4058  DB  63                                  ; (bad)
4059  DB  152                                 ; cwtl
4060  DB  221,147,61,111,43,231               ; fstl          -0x18d490c3(%rbx)
4061  DB  187,159,215,202,60                  ; mov           $0x3ccad79f,%ebx
4062  DB  212                                 ; (bad)
4063  DB  100,84                              ; fs            push %rsp
4064  DB  189,169,240,34,62                   ; mov           $0x3e22f0a9,%ebp
4065  DB  0,0                                 ; add           %al,(%rax)
4066  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
4067  DB  0,0                                 ; add           %al,(%rax)
4068  DB  63                                  ; (bad)
4069  DB  0,0                                 ; add           %al,(%rax)
4070  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
4071  DB  0,0                                 ; add           %al,(%rax)
4072  DB  63                                  ; (bad)
4073  DB  0,0                                 ; add           %al,(%rax)
4074  DB  0,191,0,0,128,63                    ; add           %bh,0x3f800000(%rdi)
4075  DB  0,0                                 ; add           %al,(%rax)
4076  DB  0,63                                ; add           %bh,(%rdi)
4077  DB  0,0                                 ; add           %al,(%rax)
4078  DB  0,191,0,0,128,63                    ; add           %bh,0x3f800000(%rdi)
4079  DB  0,0                                 ; add           %al,(%rax)
4080  DB  0,63                                ; add           %bh,(%rdi)
4081  DB  0,0                                 ; add           %al,(%rax)
4082  DB  192,191,0,0,128,63,171              ; sarb          $0xab,0x3f800000(%rdi)
4083  DB  170                                 ; stos          %al,%es:(%rdi)
4084  DB  170                                 ; stos          %al,%es:(%rdi)
4085  DB  190,114,28,199,62                   ; mov           $0x3ec71c72,%esi
4086  DB  0,0                                 ; add           %al,(%rax)
4087  DB  0,191,0,0,128,63                    ; add           %bh,0x3f800000(%rdi)
4088  DB  0,0                                 ; add           %al,(%rax)
4089  DB  192,63,85                           ; sarb          $0x55,(%rdi)
4090  DB  85                                  ; push          %rbp
4091  DB  149                                 ; xchg          %eax,%ebp
4092  DB  191,0,0,0,63                        ; mov           $0x3f000000,%edi
4093  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
4094  DB  0,63                                ; add           %bh,(%rdi)
4095  DB  0,0                                 ; add           %al,(%rax)
4096  DB  192,63,85                           ; sarb          $0x55,(%rdi)
4097  DB  85                                  ; push          %rbp
4098  DB  149                                 ; xchg          %eax,%ebp
4099  DB  191,57,142,99,61                    ; mov           $0x3d638e39,%edi
4100  DB  0,0                                 ; add           %al,(%rax)
4101  DB  192,63,171                          ; sarb          $0xab,(%rdi)
4102  DB  170                                 ; stos          %al,%es:(%rdi)
4103  DB  170                                 ; stos          %al,%es:(%rdi)
4104  DB  190,114,28,199,62                   ; mov           $0x3ec71c72,%esi
4105  DB  0,0                                 ; add           %al,(%rax)
4106  DB  192,191,0,0,128,63,171              ; sarb          $0xab,0x3f800000(%rdi)
4107  DB  170                                 ; stos          %al,%es:(%rdi)
4108  DB  170                                 ; stos          %al,%es:(%rdi)
4109  DB  190,114,28,199,62                   ; mov           $0x3ec71c72,%esi
4110  DB  0,0                                 ; add           %al,(%rax)
4111  DB  0,191,0,0,128,63                    ; add           %bh,0x3f800000(%rdi)
4112  DB  0,0                                 ; add           %al,(%rax)
4113  DB  192,63,85                           ; sarb          $0x55,(%rdi)
4114  DB  85                                  ; push          %rbp
4115  DB  149                                 ; xchg          %eax,%ebp
4116  DB  191,0,0,0,63                        ; mov           $0x3f000000,%edi
4117  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
4118  DB  0,63                                ; add           %bh,(%rdi)
4119  DB  0,0                                 ; add           %al,(%rax)
4120  DB  192,63,85                           ; sarb          $0x55,(%rdi)
4121  DB  85                                  ; push          %rbp
4122  DB  149                                 ; xchg          %eax,%ebp
4123  DB  191,57,142,99,61                    ; mov           $0x3d638e39,%edi
4124  DB  0,0                                 ; add           %al,(%rax)
4125  DB  192,63,171                          ; sarb          $0xab,(%rdi)
4126  DB  170                                 ; stos          %al,%es:(%rdi)
4127  DB  170                                 ; stos          %al,%es:(%rdi)
4128  DB  190,114,28,199,62                   ; mov           $0x3ec71c72,%esi
4129
4130ALIGN 32
4131  DB  255,0                               ; incl          (%rax)
4132  DB  0,0                                 ; add           %al,(%rax)
4133  DB  255,0                               ; incl          (%rax)
4134  DB  0,0                                 ; add           %al,(%rax)
4135  DB  255,0                               ; incl          (%rax)
4136  DB  0,0                                 ; add           %al,(%rax)
4137  DB  255,0                               ; incl          (%rax)
4138  DB  0,0                                 ; add           %al,(%rax)
4139  DB  255,0                               ; incl          (%rax)
4140  DB  0,0                                 ; add           %al,(%rax)
4141  DB  255,0                               ; incl          (%rax)
4142  DB  0,0                                 ; add           %al,(%rax)
4143  DB  255,0                               ; incl          (%rax)
4144  DB  0,0                                 ; add           %al,(%rax)
4145  DB  255,0                               ; incl          (%rax)
4146  DB  0,0                                 ; add           %al,(%rax)
4147  DB  1,255                               ; add           %edi,%edi
4148  DB  255                                 ; (bad)
4149  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a004208 <_sk_callback_hsw+0xa0004eb>
4150  DB  255                                 ; (bad)
4151  DB  255                                 ; (bad)
4152  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12004210 <_sk_callback_hsw+0x120004f3>
4153  DB  255                                 ; (bad)
4154  DB  255                                 ; (bad)
4155  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a004218 <_sk_callback_hsw+0x1a0004fb>
4156  DB  255                                 ; (bad)
4157  DB  255                                 ; (bad)
4158  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3004220 <_sk_callback_hsw+0x3000503>
4159  DB  255                                 ; (bad)
4160  DB  255                                 ; (bad)
4161  DB  255,6                               ; incl          (%rsi)
4162  DB  255                                 ; (bad)
4163  DB  255                                 ; (bad)
4164  DB  255,10                              ; decl          (%rdx)
4165  DB  255                                 ; (bad)
4166  DB  255                                 ; (bad)
4167  DB  255,14                              ; decl          (%rsi)
4168  DB  255                                 ; (bad)
4169  DB  255                                 ; (bad)
4170  DB  255,18                              ; callq         *(%rdx)
4171  DB  255                                 ; (bad)
4172  DB  255                                 ; (bad)
4173  DB  255,22                              ; callq         *(%rsi)
4174  DB  255                                 ; (bad)
4175  DB  255                                 ; (bad)
4176  DB  255,26                              ; lcall         *(%rdx)
4177  DB  255                                 ; (bad)
4178  DB  255                                 ; (bad)
4179  DB  255,30                              ; lcall         *(%rsi)
4180  DB  255                                 ; (bad)
4181  DB  255                                 ; (bad)
4182  DB  255                                 ; (bad)
4183  DB  255,0                               ; incl          (%rax)
4184  DB  0,0                                 ; add           %al,(%rax)
4185  DB  255,0                               ; incl          (%rax)
4186  DB  0,0                                 ; add           %al,(%rax)
4187  DB  255,0                               ; incl          (%rax)
4188  DB  0,0                                 ; add           %al,(%rax)
4189  DB  255,0                               ; incl          (%rax)
4190  DB  0,0                                 ; add           %al,(%rax)
4191  DB  255,0                               ; incl          (%rax)
4192  DB  0,0                                 ; add           %al,(%rax)
4193  DB  255,0                               ; incl          (%rax)
4194  DB  0,0                                 ; add           %al,(%rax)
4195  DB  255,0                               ; incl          (%rax)
4196  DB  0,0                                 ; add           %al,(%rax)
4197  DB  255,0                               ; incl          (%rax)
4198  DB  0,0                                 ; add           %al,(%rax)
4199  DB  1,255                               ; add           %edi,%edi
4200  DB  255                                 ; (bad)
4201  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a004268 <_sk_callback_hsw+0xa00054b>
4202  DB  255                                 ; (bad)
4203  DB  255                                 ; (bad)
4204  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12004270 <_sk_callback_hsw+0x12000553>
4205  DB  255                                 ; (bad)
4206  DB  255                                 ; (bad)
4207  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a004278 <_sk_callback_hsw+0x1a00055b>
4208  DB  255                                 ; (bad)
4209  DB  255                                 ; (bad)
4210  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3004280 <_sk_callback_hsw+0x3000563>
4211  DB  255                                 ; (bad)
4212  DB  255                                 ; (bad)
4213  DB  255,6                               ; incl          (%rsi)
4214  DB  255                                 ; (bad)
4215  DB  255                                 ; (bad)
4216  DB  255,10                              ; decl          (%rdx)
4217  DB  255                                 ; (bad)
4218  DB  255                                 ; (bad)
4219  DB  255,14                              ; decl          (%rsi)
4220  DB  255                                 ; (bad)
4221  DB  255                                 ; (bad)
4222  DB  255,18                              ; callq         *(%rdx)
4223  DB  255                                 ; (bad)
4224  DB  255                                 ; (bad)
4225  DB  255,22                              ; callq         *(%rsi)
4226  DB  255                                 ; (bad)
4227  DB  255                                 ; (bad)
4228  DB  255,26                              ; lcall         *(%rdx)
4229  DB  255                                 ; (bad)
4230  DB  255                                 ; (bad)
4231  DB  255,30                              ; lcall         *(%rsi)
4232  DB  255                                 ; (bad)
4233  DB  255                                 ; (bad)
4234  DB  255                                 ; (bad)
4235  DB  255,0                               ; incl          (%rax)
4236  DB  0,0                                 ; add           %al,(%rax)
4237  DB  255,0                               ; incl          (%rax)
4238  DB  0,0                                 ; add           %al,(%rax)
4239  DB  255,0                               ; incl          (%rax)
4240  DB  0,0                                 ; add           %al,(%rax)
4241  DB  255,0                               ; incl          (%rax)
4242  DB  0,0                                 ; add           %al,(%rax)
4243  DB  255,0                               ; incl          (%rax)
4244  DB  0,0                                 ; add           %al,(%rax)
4245  DB  255,0                               ; incl          (%rax)
4246  DB  0,0                                 ; add           %al,(%rax)
4247  DB  255,0                               ; incl          (%rax)
4248  DB  0,0                                 ; add           %al,(%rax)
4249  DB  255,0                               ; incl          (%rax)
4250  DB  0,0                                 ; add           %al,(%rax)
4251  DB  1,255                               ; add           %edi,%edi
4252  DB  255                                 ; (bad)
4253  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a0042c8 <_sk_callback_hsw+0xa0005ab>
4254  DB  255                                 ; (bad)
4255  DB  255                                 ; (bad)
4256  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 120042d0 <_sk_callback_hsw+0x120005b3>
4257  DB  255                                 ; (bad)
4258  DB  255                                 ; (bad)
4259  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a0042d8 <_sk_callback_hsw+0x1a0005bb>
4260  DB  255                                 ; (bad)
4261  DB  255                                 ; (bad)
4262  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 30042e0 <_sk_callback_hsw+0x30005c3>
4263  DB  255                                 ; (bad)
4264  DB  255                                 ; (bad)
4265  DB  255,6                               ; incl          (%rsi)
4266  DB  255                                 ; (bad)
4267  DB  255                                 ; (bad)
4268  DB  255,10                              ; decl          (%rdx)
4269  DB  255                                 ; (bad)
4270  DB  255                                 ; (bad)
4271  DB  255,14                              ; decl          (%rsi)
4272  DB  255                                 ; (bad)
4273  DB  255                                 ; (bad)
4274  DB  255,18                              ; callq         *(%rdx)
4275  DB  255                                 ; (bad)
4276  DB  255                                 ; (bad)
4277  DB  255,22                              ; callq         *(%rsi)
4278  DB  255                                 ; (bad)
4279  DB  255                                 ; (bad)
4280  DB  255,26                              ; lcall         *(%rdx)
4281  DB  255                                 ; (bad)
4282  DB  255                                 ; (bad)
4283  DB  255,30                              ; lcall         *(%rsi)
4284  DB  255                                 ; (bad)
4285  DB  255                                 ; (bad)
4286  DB  255                                 ; (bad)
4287  DB  255,0                               ; incl          (%rax)
4288  DB  0,0                                 ; add           %al,(%rax)
4289  DB  255,0                               ; incl          (%rax)
4290  DB  0,0                                 ; add           %al,(%rax)
4291  DB  255,0                               ; incl          (%rax)
4292  DB  0,0                                 ; add           %al,(%rax)
4293  DB  255,0                               ; incl          (%rax)
4294  DB  0,0                                 ; add           %al,(%rax)
4295  DB  255,0                               ; incl          (%rax)
4296  DB  0,0                                 ; add           %al,(%rax)
4297  DB  255,0                               ; incl          (%rax)
4298  DB  0,0                                 ; add           %al,(%rax)
4299  DB  255,0                               ; incl          (%rax)
4300  DB  0,0                                 ; add           %al,(%rax)
4301  DB  255,0                               ; incl          (%rax)
4302  DB  0,0                                 ; add           %al,(%rax)
4303  DB  1,255                               ; add           %edi,%edi
4304  DB  255                                 ; (bad)
4305  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a004328 <_sk_callback_hsw+0xa00060b>
4306  DB  255                                 ; (bad)
4307  DB  255                                 ; (bad)
4308  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12004330 <_sk_callback_hsw+0x12000613>
4309  DB  255                                 ; (bad)
4310  DB  255                                 ; (bad)
4311  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a004338 <_sk_callback_hsw+0x1a00061b>
4312  DB  255                                 ; (bad)
4313  DB  255                                 ; (bad)
4314  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3004340 <_sk_callback_hsw+0x3000623>
4315  DB  255                                 ; (bad)
4316  DB  255                                 ; (bad)
4317  DB  255,6                               ; incl          (%rsi)
4318  DB  255                                 ; (bad)
4319  DB  255                                 ; (bad)
4320  DB  255,10                              ; decl          (%rdx)
4321  DB  255                                 ; (bad)
4322  DB  255                                 ; (bad)
4323  DB  255,14                              ; decl          (%rsi)
4324  DB  255                                 ; (bad)
4325  DB  255                                 ; (bad)
4326  DB  255,18                              ; callq         *(%rdx)
4327  DB  255                                 ; (bad)
4328  DB  255                                 ; (bad)
4329  DB  255,22                              ; callq         *(%rsi)
4330  DB  255                                 ; (bad)
4331  DB  255                                 ; (bad)
4332  DB  255,26                              ; lcall         *(%rdx)
4333  DB  255                                 ; (bad)
4334  DB  255                                 ; (bad)
4335  DB  255,30                              ; lcall         *(%rsi)
4336  DB  255                                 ; (bad)
4337  DB  255                                 ; (bad)
4338  DB  255                                 ; .byte         0xff
4339
4340ALIGN 16
4341  DB  255,0                               ; incl          (%rax)
4342  DB  255,0                               ; incl          (%rax)
4343  DB  255,0                               ; incl          (%rax)
4344  DB  255,0                               ; incl          (%rax)
4345  DB  255,0                               ; incl          (%rax)
4346  DB  255,0                               ; incl          (%rax)
4347  DB  255,0                               ; incl          (%rax)
4348  DB  255,0                               ; incl          (%rax)
4349  DB  255,0                               ; incl          (%rax)
4350  DB  255,0                               ; incl          (%rax)
4351  DB  255,0                               ; incl          (%rax)
4352  DB  255,0                               ; incl          (%rax)
4353  DB  255,0                               ; incl          (%rax)
4354  DB  255,0                               ; incl          (%rax)
4355  DB  255,0                               ; incl          (%rax)
4356  DB  255,0                               ; incl          (%rax)
4357ALIGN 32
4358
4359PUBLIC _sk_start_pipeline_avx
4360_sk_start_pipeline_avx LABEL PROC
4361  DB  65,87                               ; push          %r15
4362  DB  65,86                               ; push          %r14
4363  DB  65,85                               ; push          %r13
4364  DB  65,84                               ; push          %r12
4365  DB  86                                  ; push          %rsi
4366  DB  87                                  ; push          %rdi
4367  DB  83                                  ; push          %rbx
4368  DB  72,129,236,160,0,0,0                ; sub           $0xa0,%rsp
4369  DB  197,120,41,188,36,144,0,0,0         ; vmovaps       %xmm15,0x90(%rsp)
4370  DB  197,120,41,180,36,128,0,0,0         ; vmovaps       %xmm14,0x80(%rsp)
4371  DB  197,120,41,108,36,112               ; vmovaps       %xmm13,0x70(%rsp)
4372  DB  197,120,41,100,36,96                ; vmovaps       %xmm12,0x60(%rsp)
4373  DB  197,120,41,92,36,80                 ; vmovaps       %xmm11,0x50(%rsp)
4374  DB  197,120,41,84,36,64                 ; vmovaps       %xmm10,0x40(%rsp)
4375  DB  197,120,41,76,36,48                 ; vmovaps       %xmm9,0x30(%rsp)
4376  DB  197,120,41,68,36,32                 ; vmovaps       %xmm8,0x20(%rsp)
4377  DB  197,248,41,124,36,16                ; vmovaps       %xmm7,0x10(%rsp)
4378  DB  197,248,41,52,36                    ; vmovaps       %xmm6,(%rsp)
4379  DB  77,137,205                          ; mov           %r9,%r13
4380  DB  77,137,198                          ; mov           %r8,%r14
4381  DB  72,137,203                          ; mov           %rcx,%rbx
4382  DB  72,137,214                          ; mov           %rdx,%rsi
4383  DB  72,173                              ; lods          %ds:(%rsi),%rax
4384  DB  73,137,199                          ; mov           %rax,%r15
4385  DB  73,137,244                          ; mov           %rsi,%r12
4386  DB  72,141,67,8                         ; lea           0x8(%rbx),%rax
4387  DB  76,57,232                           ; cmp           %r13,%rax
4388  DB  118,5                               ; jbe           75 <_sk_start_pipeline_avx+0x75>
4389  DB  72,137,223                          ; mov           %rbx,%rdi
4390  DB  235,65                              ; jmp           b6 <_sk_start_pipeline_avx+0xb6>
4391  DB  185,0,0,0,0                         ; mov           $0x0,%ecx
4392  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
4393  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
4394  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
4395  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
4396  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
4397  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
4398  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
4399  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
4400  DB  72,137,223                          ; mov           %rbx,%rdi
4401  DB  76,137,230                          ; mov           %r12,%rsi
4402  DB  76,137,242                          ; mov           %r14,%rdx
4403  DB  65,255,215                          ; callq         *%r15
4404  DB  72,141,123,8                        ; lea           0x8(%rbx),%rdi
4405  DB  72,131,195,16                       ; add           $0x10,%rbx
4406  DB  76,57,235                           ; cmp           %r13,%rbx
4407  DB  72,137,251                          ; mov           %rdi,%rbx
4408  DB  118,191                             ; jbe           75 <_sk_start_pipeline_avx+0x75>
4409  DB  76,137,233                          ; mov           %r13,%rcx
4410  DB  72,41,249                           ; sub           %rdi,%rcx
4411  DB  116,41                              ; je            e7 <_sk_start_pipeline_avx+0xe7>
4412  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
4413  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
4414  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
4415  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
4416  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
4417  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
4418  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
4419  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
4420  DB  76,137,230                          ; mov           %r12,%rsi
4421  DB  76,137,242                          ; mov           %r14,%rdx
4422  DB  65,255,215                          ; callq         *%r15
4423  DB  76,137,232                          ; mov           %r13,%rax
4424  DB  197,248,40,52,36                    ; vmovaps       (%rsp),%xmm6
4425  DB  197,248,40,124,36,16                ; vmovaps       0x10(%rsp),%xmm7
4426  DB  197,120,40,68,36,32                 ; vmovaps       0x20(%rsp),%xmm8
4427  DB  197,120,40,76,36,48                 ; vmovaps       0x30(%rsp),%xmm9
4428  DB  197,120,40,84,36,64                 ; vmovaps       0x40(%rsp),%xmm10
4429  DB  197,120,40,92,36,80                 ; vmovaps       0x50(%rsp),%xmm11
4430  DB  197,120,40,100,36,96                ; vmovaps       0x60(%rsp),%xmm12
4431  DB  197,120,40,108,36,112               ; vmovaps       0x70(%rsp),%xmm13
4432  DB  197,120,40,180,36,128,0,0,0         ; vmovaps       0x80(%rsp),%xmm14
4433  DB  197,120,40,188,36,144,0,0,0         ; vmovaps       0x90(%rsp),%xmm15
4434  DB  72,129,196,160,0,0,0                ; add           $0xa0,%rsp
4435  DB  91                                  ; pop           %rbx
4436  DB  95                                  ; pop           %rdi
4437  DB  94                                  ; pop           %rsi
4438  DB  65,92                               ; pop           %r12
4439  DB  65,93                               ; pop           %r13
4440  DB  65,94                               ; pop           %r14
4441  DB  65,95                               ; pop           %r15
4442  DB  197,248,119                         ; vzeroupper
4443  DB  195                                 ; retq
4444
4445PUBLIC _sk_just_return_avx
4446_sk_just_return_avx LABEL PROC
4447  DB  195                                 ; retq
4448
4449PUBLIC _sk_seed_shader_avx
4450_sk_seed_shader_avx LABEL PROC
4451  DB  72,173                              ; lods          %ds:(%rsi),%rax
4452  DB  197,249,110,199                     ; vmovd         %edi,%xmm0
4453  DB  197,249,112,192,0                   ; vpshufd       $0x0,%xmm0,%xmm0
4454  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
4455  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
4456  DB  196,226,125,24,13,164,83,0,0        ; vbroadcastss  0x53a4(%rip),%ymm1        # 5504 <_sk_callback_avx+0x119>
4457  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
4458  DB  197,252,88,2                        ; vaddps        (%rdx),%ymm0,%ymm0
4459  DB  196,226,125,24,16                   ; vbroadcastss  (%rax),%ymm2
4460  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
4461  DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
4462  DB  72,173                              ; lods          %ds:(%rsi),%rax
4463  DB  196,226,125,24,21,136,83,0,0        ; vbroadcastss  0x5388(%rip),%ymm2        # 5508 <_sk_callback_avx+0x11d>
4464  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
4465  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
4466  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
4467  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
4468  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
4469  DB  255,224                             ; jmpq          *%rax
4470
4471PUBLIC _sk_constant_color_avx
4472_sk_constant_color_avx LABEL PROC
4473  DB  72,173                              ; lods          %ds:(%rsi),%rax
4474  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
4475  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
4476  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
4477  DB  196,226,125,24,88,12                ; vbroadcastss  0xc(%rax),%ymm3
4478  DB  72,173                              ; lods          %ds:(%rsi),%rax
4479  DB  255,224                             ; jmpq          *%rax
4480
4481PUBLIC _sk_clear_avx
4482_sk_clear_avx LABEL PROC
4483  DB  72,173                              ; lods          %ds:(%rsi),%rax
4484  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
4485  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
4486  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
4487  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
4488  DB  255,224                             ; jmpq          *%rax
4489
4490PUBLIC _sk_srcatop_avx
4491_sk_srcatop_avx LABEL PROC
4492  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
4493  DB  196,98,125,24,5,56,83,0,0           ; vbroadcastss  0x5338(%rip),%ymm8        # 550c <_sk_callback_avx+0x121>
4494  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4495  DB  197,60,89,204                       ; vmulps        %ymm4,%ymm8,%ymm9
4496  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
4497  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
4498  DB  197,60,89,205                       ; vmulps        %ymm5,%ymm8,%ymm9
4499  DB  197,180,88,201                      ; vaddps        %ymm1,%ymm9,%ymm1
4500  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
4501  DB  197,60,89,206                       ; vmulps        %ymm6,%ymm8,%ymm9
4502  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
4503  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
4504  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4505  DB  196,193,100,88,216                  ; vaddps        %ymm8,%ymm3,%ymm3
4506  DB  72,173                              ; lods          %ds:(%rsi),%rax
4507  DB  255,224                             ; jmpq          *%rax
4508
4509PUBLIC _sk_dstatop_avx
4510_sk_dstatop_avx LABEL PROC
4511  DB  197,100,89,196                      ; vmulps        %ymm4,%ymm3,%ymm8
4512  DB  196,98,125,24,13,250,82,0,0         ; vbroadcastss  0x52fa(%rip),%ymm9        # 5510 <_sk_callback_avx+0x125>
4513  DB  197,52,92,207                       ; vsubps        %ymm7,%ymm9,%ymm9
4514  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
4515  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
4516  DB  197,100,89,197                      ; vmulps        %ymm5,%ymm3,%ymm8
4517  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
4518  DB  197,188,88,201                      ; vaddps        %ymm1,%ymm8,%ymm1
4519  DB  197,100,89,198                      ; vmulps        %ymm6,%ymm3,%ymm8
4520  DB  197,180,89,210                      ; vmulps        %ymm2,%ymm9,%ymm2
4521  DB  197,188,88,210                      ; vaddps        %ymm2,%ymm8,%ymm2
4522  DB  197,100,89,199                      ; vmulps        %ymm7,%ymm3,%ymm8
4523  DB  197,180,89,219                      ; vmulps        %ymm3,%ymm9,%ymm3
4524  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4525  DB  72,173                              ; lods          %ds:(%rsi),%rax
4526  DB  255,224                             ; jmpq          *%rax
4527
4528PUBLIC _sk_srcin_avx
4529_sk_srcin_avx LABEL PROC
4530  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
4531  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
4532  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
4533  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
4534  DB  72,173                              ; lods          %ds:(%rsi),%rax
4535  DB  255,224                             ; jmpq          *%rax
4536
4537PUBLIC _sk_dstin_avx
4538_sk_dstin_avx LABEL PROC
4539  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
4540  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
4541  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
4542  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
4543  DB  72,173                              ; lods          %ds:(%rsi),%rax
4544  DB  255,224                             ; jmpq          *%rax
4545
4546PUBLIC _sk_srcout_avx
4547_sk_srcout_avx LABEL PROC
4548  DB  196,98,125,24,5,153,82,0,0          ; vbroadcastss  0x5299(%rip),%ymm8        # 5514 <_sk_callback_avx+0x129>
4549  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
4550  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
4551  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
4552  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
4553  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
4554  DB  72,173                              ; lods          %ds:(%rsi),%rax
4555  DB  255,224                             ; jmpq          *%rax
4556
4557PUBLIC _sk_dstout_avx
4558_sk_dstout_avx LABEL PROC
4559  DB  196,226,125,24,5,124,82,0,0         ; vbroadcastss  0x527c(%rip),%ymm0        # 5518 <_sk_callback_avx+0x12d>
4560  DB  197,252,92,219                      ; vsubps        %ymm3,%ymm0,%ymm3
4561  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
4562  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
4563  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
4564  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
4565  DB  72,173                              ; lods          %ds:(%rsi),%rax
4566  DB  255,224                             ; jmpq          *%rax
4567
4568PUBLIC _sk_srcover_avx
4569_sk_srcover_avx LABEL PROC
4570  DB  196,98,125,24,5,95,82,0,0           ; vbroadcastss  0x525f(%rip),%ymm8        # 551c <_sk_callback_avx+0x131>
4571  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4572  DB  197,60,89,204                       ; vmulps        %ymm4,%ymm8,%ymm9
4573  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
4574  DB  197,60,89,205                       ; vmulps        %ymm5,%ymm8,%ymm9
4575  DB  197,180,88,201                      ; vaddps        %ymm1,%ymm9,%ymm1
4576  DB  197,60,89,206                       ; vmulps        %ymm6,%ymm8,%ymm9
4577  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
4578  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4579  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4580  DB  72,173                              ; lods          %ds:(%rsi),%rax
4581  DB  255,224                             ; jmpq          *%rax
4582
4583PUBLIC _sk_dstover_avx
4584_sk_dstover_avx LABEL PROC
4585  DB  196,98,125,24,5,50,82,0,0           ; vbroadcastss  0x5232(%rip),%ymm8        # 5520 <_sk_callback_avx+0x135>
4586  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
4587  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
4588  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
4589  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
4590  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
4591  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
4592  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
4593  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
4594  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
4595  DB  72,173                              ; lods          %ds:(%rsi),%rax
4596  DB  255,224                             ; jmpq          *%rax
4597
4598PUBLIC _sk_modulate_avx
4599_sk_modulate_avx LABEL PROC
4600  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
4601  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
4602  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
4603  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
4604  DB  72,173                              ; lods          %ds:(%rsi),%rax
4605  DB  255,224                             ; jmpq          *%rax
4606
4607PUBLIC _sk_multiply_avx
4608_sk_multiply_avx LABEL PROC
4609  DB  196,98,125,24,5,241,81,0,0          ; vbroadcastss  0x51f1(%rip),%ymm8        # 5524 <_sk_callback_avx+0x139>
4610  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
4611  DB  197,52,89,208                       ; vmulps        %ymm0,%ymm9,%ymm10
4612  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4613  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
4614  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
4615  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
4616  DB  196,193,124,88,194                  ; vaddps        %ymm10,%ymm0,%ymm0
4617  DB  197,52,89,209                       ; vmulps        %ymm1,%ymm9,%ymm10
4618  DB  197,60,89,221                       ; vmulps        %ymm5,%ymm8,%ymm11
4619  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
4620  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
4621  DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
4622  DB  197,52,89,210                       ; vmulps        %ymm2,%ymm9,%ymm10
4623  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
4624  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
4625  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
4626  DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
4627  DB  197,52,89,203                       ; vmulps        %ymm3,%ymm9,%ymm9
4628  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4629  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
4630  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
4631  DB  196,193,100,88,216                  ; vaddps        %ymm8,%ymm3,%ymm3
4632  DB  72,173                              ; lods          %ds:(%rsi),%rax
4633  DB  255,224                             ; jmpq          *%rax
4634
4635PUBLIC _sk_plus__avx
4636_sk_plus__avx LABEL PROC
4637  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
4638  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
4639  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
4640  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
4641  DB  72,173                              ; lods          %ds:(%rsi),%rax
4642  DB  255,224                             ; jmpq          *%rax
4643
4644PUBLIC _sk_screen_avx
4645_sk_screen_avx LABEL PROC
4646  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
4647  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
4648  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
4649  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
4650  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
4651  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
4652  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
4653  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
4654  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
4655  DB  197,100,88,199                      ; vaddps        %ymm7,%ymm3,%ymm8
4656  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
4657  DB  197,188,92,219                      ; vsubps        %ymm3,%ymm8,%ymm3
4658  DB  72,173                              ; lods          %ds:(%rsi),%rax
4659  DB  255,224                             ; jmpq          *%rax
4660
4661PUBLIC _sk_xor__avx
4662_sk_xor__avx LABEL PROC
4663  DB  196,98,125,24,5,64,81,0,0           ; vbroadcastss  0x5140(%rip),%ymm8        # 5528 <_sk_callback_avx+0x13d>
4664  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
4665  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
4666  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4667  DB  197,60,89,212                       ; vmulps        %ymm4,%ymm8,%ymm10
4668  DB  197,172,88,192                      ; vaddps        %ymm0,%ymm10,%ymm0
4669  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
4670  DB  197,60,89,213                       ; vmulps        %ymm5,%ymm8,%ymm10
4671  DB  197,172,88,201                      ; vaddps        %ymm1,%ymm10,%ymm1
4672  DB  197,180,89,210                      ; vmulps        %ymm2,%ymm9,%ymm2
4673  DB  197,60,89,214                       ; vmulps        %ymm6,%ymm8,%ymm10
4674  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
4675  DB  197,180,89,219                      ; vmulps        %ymm3,%ymm9,%ymm3
4676  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4677  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4678  DB  72,173                              ; lods          %ds:(%rsi),%rax
4679  DB  255,224                             ; jmpq          *%rax
4680
4681PUBLIC _sk_darken_avx
4682_sk_darken_avx LABEL PROC
4683  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
4684  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
4685  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
4686  DB  196,193,124,95,193                  ; vmaxps        %ymm9,%ymm0,%ymm0
4687  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
4688  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
4689  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
4690  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
4691  DB  196,193,116,95,201                  ; vmaxps        %ymm9,%ymm1,%ymm1
4692  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
4693  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
4694  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
4695  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
4696  DB  196,193,108,95,209                  ; vmaxps        %ymm9,%ymm2,%ymm2
4697  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
4698  DB  196,98,125,24,5,192,80,0,0          ; vbroadcastss  0x50c0(%rip),%ymm8        # 552c <_sk_callback_avx+0x141>
4699  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4700  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4701  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4702  DB  72,173                              ; lods          %ds:(%rsi),%rax
4703  DB  255,224                             ; jmpq          *%rax
4704
4705PUBLIC _sk_lighten_avx
4706_sk_lighten_avx LABEL PROC
4707  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
4708  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
4709  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
4710  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
4711  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
4712  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
4713  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
4714  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
4715  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
4716  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
4717  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
4718  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
4719  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
4720  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
4721  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
4722  DB  196,98,125,24,5,108,80,0,0          ; vbroadcastss  0x506c(%rip),%ymm8        # 5530 <_sk_callback_avx+0x145>
4723  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4724  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4725  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4726  DB  72,173                              ; lods          %ds:(%rsi),%rax
4727  DB  255,224                             ; jmpq          *%rax
4728
4729PUBLIC _sk_difference_avx
4730_sk_difference_avx LABEL PROC
4731  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
4732  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
4733  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
4734  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
4735  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
4736  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
4737  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
4738  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
4739  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
4740  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
4741  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
4742  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
4743  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
4744  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
4745  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
4746  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
4747  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
4748  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
4749  DB  196,98,125,24,5,12,80,0,0           ; vbroadcastss  0x500c(%rip),%ymm8        # 5534 <_sk_callback_avx+0x149>
4750  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4751  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4752  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4753  DB  72,173                              ; lods          %ds:(%rsi),%rax
4754  DB  255,224                             ; jmpq          *%rax
4755
4756PUBLIC _sk_exclusion_avx
4757_sk_exclusion_avx LABEL PROC
4758  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
4759  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
4760  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
4761  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
4762  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
4763  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
4764  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
4765  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
4766  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
4767  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
4768  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
4769  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
4770  DB  196,98,125,24,5,199,79,0,0          ; vbroadcastss  0x4fc7(%rip),%ymm8        # 5538 <_sk_callback_avx+0x14d>
4771  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4772  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4773  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4774  DB  72,173                              ; lods          %ds:(%rsi),%rax
4775  DB  255,224                             ; jmpq          *%rax
4776
4777PUBLIC _sk_colorburn_avx
4778_sk_colorburn_avx LABEL PROC
4779  DB  196,98,125,24,5,178,79,0,0          ; vbroadcastss  0x4fb2(%rip),%ymm8        # 553c <_sk_callback_avx+0x151>
4780  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
4781  DB  197,52,89,216                       ; vmulps        %ymm0,%ymm9,%ymm11
4782  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
4783  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4784  DB  197,60,89,228                       ; vmulps        %ymm4,%ymm8,%ymm12
4785  DB  197,68,92,236                       ; vsubps        %ymm4,%ymm7,%ymm13
4786  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
4787  DB  197,20,94,232                       ; vdivps        %ymm0,%ymm13,%ymm13
4788  DB  196,65,68,93,237                    ; vminps        %ymm13,%ymm7,%ymm13
4789  DB  196,65,68,92,237                    ; vsubps        %ymm13,%ymm7,%ymm13
4790  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
4791  DB  196,65,36,88,237                    ; vaddps        %ymm13,%ymm11,%ymm13
4792  DB  196,65,28,88,237                    ; vaddps        %ymm13,%ymm12,%ymm13
4793  DB  197,28,88,224                       ; vaddps        %ymm0,%ymm12,%ymm12
4794  DB  196,193,124,194,194,0               ; vcmpeqps      %ymm10,%ymm0,%ymm0
4795  DB  196,195,21,74,196,0                 ; vblendvps     %ymm0,%ymm12,%ymm13,%ymm0
4796  DB  197,92,194,231,0                    ; vcmpeqps      %ymm7,%ymm4,%ymm12
4797  DB  197,36,88,220                       ; vaddps        %ymm4,%ymm11,%ymm11
4798  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
4799  DB  197,52,89,217                       ; vmulps        %ymm1,%ymm9,%ymm11
4800  DB  197,60,89,229                       ; vmulps        %ymm5,%ymm8,%ymm12
4801  DB  197,68,92,237                       ; vsubps        %ymm5,%ymm7,%ymm13
4802  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
4803  DB  197,20,94,233                       ; vdivps        %ymm1,%ymm13,%ymm13
4804  DB  196,65,68,93,237                    ; vminps        %ymm13,%ymm7,%ymm13
4805  DB  196,65,68,92,237                    ; vsubps        %ymm13,%ymm7,%ymm13
4806  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
4807  DB  196,65,36,88,237                    ; vaddps        %ymm13,%ymm11,%ymm13
4808  DB  196,65,28,88,237                    ; vaddps        %ymm13,%ymm12,%ymm13
4809  DB  197,28,88,225                       ; vaddps        %ymm1,%ymm12,%ymm12
4810  DB  196,193,116,194,202,0               ; vcmpeqps      %ymm10,%ymm1,%ymm1
4811  DB  196,195,21,74,204,16                ; vblendvps     %ymm1,%ymm12,%ymm13,%ymm1
4812  DB  197,84,194,231,0                    ; vcmpeqps      %ymm7,%ymm5,%ymm12
4813  DB  197,36,88,221                       ; vaddps        %ymm5,%ymm11,%ymm11
4814  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
4815  DB  197,52,89,202                       ; vmulps        %ymm2,%ymm9,%ymm9
4816  DB  196,65,108,194,210,0                ; vcmpeqps      %ymm10,%ymm2,%ymm10
4817  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
4818  DB  197,68,92,230                       ; vsubps        %ymm6,%ymm7,%ymm12
4819  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
4820  DB  197,28,94,226                       ; vdivps        %ymm2,%ymm12,%ymm12
4821  DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
4822  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
4823  DB  196,65,68,92,228                    ; vsubps        %ymm12,%ymm7,%ymm12
4824  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
4825  DB  196,65,52,88,228                    ; vaddps        %ymm12,%ymm9,%ymm12
4826  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
4827  DB  196,227,37,74,210,160               ; vblendvps     %ymm10,%ymm2,%ymm11,%ymm2
4828  DB  197,76,194,215,0                    ; vcmpeqps      %ymm7,%ymm6,%ymm10
4829  DB  197,52,88,206                       ; vaddps        %ymm6,%ymm9,%ymm9
4830  DB  196,195,109,74,209,160              ; vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
4831  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4832  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4833  DB  72,173                              ; lods          %ds:(%rsi),%rax
4834  DB  255,224                             ; jmpq          *%rax
4835
4836PUBLIC _sk_colordodge_avx
4837_sk_colordodge_avx LABEL PROC
4838  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
4839  DB  196,98,125,24,13,174,78,0,0         ; vbroadcastss  0x4eae(%rip),%ymm9        # 5540 <_sk_callback_avx+0x155>
4840  DB  197,52,92,215                       ; vsubps        %ymm7,%ymm9,%ymm10
4841  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
4842  DB  197,52,92,203                       ; vsubps        %ymm3,%ymm9,%ymm9
4843  DB  197,100,89,228                      ; vmulps        %ymm4,%ymm3,%ymm12
4844  DB  197,100,92,232                      ; vsubps        %ymm0,%ymm3,%ymm13
4845  DB  196,65,28,94,229                    ; vdivps        %ymm13,%ymm12,%ymm12
4846  DB  197,52,89,236                       ; vmulps        %ymm4,%ymm9,%ymm13
4847  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
4848  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
4849  DB  196,65,36,88,228                    ; vaddps        %ymm12,%ymm11,%ymm12
4850  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
4851  DB  197,20,88,232                       ; vaddps        %ymm0,%ymm13,%ymm13
4852  DB  197,252,194,195,0                   ; vcmpeqps      %ymm3,%ymm0,%ymm0
4853  DB  196,195,29,74,197,0                 ; vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
4854  DB  196,65,92,194,224,0                 ; vcmpeqps      %ymm8,%ymm4,%ymm12
4855  DB  197,36,88,220                       ; vaddps        %ymm4,%ymm11,%ymm11
4856  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
4857  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
4858  DB  197,100,89,229                      ; vmulps        %ymm5,%ymm3,%ymm12
4859  DB  197,100,92,233                      ; vsubps        %ymm1,%ymm3,%ymm13
4860  DB  196,65,28,94,229                    ; vdivps        %ymm13,%ymm12,%ymm12
4861  DB  197,52,89,237                       ; vmulps        %ymm5,%ymm9,%ymm13
4862  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
4863  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
4864  DB  196,65,36,88,228                    ; vaddps        %ymm12,%ymm11,%ymm12
4865  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
4866  DB  197,20,88,233                       ; vaddps        %ymm1,%ymm13,%ymm13
4867  DB  197,244,194,203,0                   ; vcmpeqps      %ymm3,%ymm1,%ymm1
4868  DB  196,195,29,74,205,16                ; vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
4869  DB  196,65,84,194,224,0                 ; vcmpeqps      %ymm8,%ymm5,%ymm12
4870  DB  197,36,88,221                       ; vaddps        %ymm5,%ymm11,%ymm11
4871  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
4872  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
4873  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
4874  DB  197,100,92,226                      ; vsubps        %ymm2,%ymm3,%ymm12
4875  DB  196,65,36,94,220                    ; vdivps        %ymm12,%ymm11,%ymm11
4876  DB  197,52,89,230                       ; vmulps        %ymm6,%ymm9,%ymm12
4877  DB  196,65,68,93,219                    ; vminps        %ymm11,%ymm7,%ymm11
4878  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
4879  DB  196,65,44,88,219                    ; vaddps        %ymm11,%ymm10,%ymm11
4880  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
4881  DB  197,28,88,226                       ; vaddps        %ymm2,%ymm12,%ymm12
4882  DB  197,236,194,211,0                   ; vcmpeqps      %ymm3,%ymm2,%ymm2
4883  DB  196,195,37,74,212,32                ; vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
4884  DB  196,65,76,194,192,0                 ; vcmpeqps      %ymm8,%ymm6,%ymm8
4885  DB  197,44,88,214                       ; vaddps        %ymm6,%ymm10,%ymm10
4886  DB  196,195,109,74,210,128              ; vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
4887  DB  197,52,89,199                       ; vmulps        %ymm7,%ymm9,%ymm8
4888  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4889  DB  72,173                              ; lods          %ds:(%rsi),%rax
4890  DB  255,224                             ; jmpq          *%rax
4891
4892PUBLIC _sk_hardlight_avx
4893_sk_hardlight_avx LABEL PROC
4894  DB  196,98,125,24,5,192,77,0,0          ; vbroadcastss  0x4dc0(%rip),%ymm8        # 5544 <_sk_callback_avx+0x159>
4895  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
4896  DB  197,44,89,200                       ; vmulps        %ymm0,%ymm10,%ymm9
4897  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4898  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
4899  DB  196,65,36,88,217                    ; vaddps        %ymm9,%ymm11,%ymm11
4900  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
4901  DB  197,52,194,227,2                    ; vcmpleps      %ymm3,%ymm9,%ymm12
4902  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
4903  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
4904  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
4905  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
4906  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
4907  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
4908  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
4909  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
4910  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
4911  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
4912  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
4913  DB  197,60,89,229                       ; vmulps        %ymm5,%ymm8,%ymm12
4914  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
4915  DB  197,116,88,225                      ; vaddps        %ymm1,%ymm1,%ymm12
4916  DB  197,28,194,227,2                    ; vcmpleps      %ymm3,%ymm12,%ymm12
4917  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
4918  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
4919  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
4920  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
4921  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
4922  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
4923  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
4924  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
4925  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
4926  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
4927  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
4928  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
4929  DB  197,108,88,218                      ; vaddps        %ymm2,%ymm2,%ymm11
4930  DB  197,36,194,219,2                    ; vcmpleps      %ymm3,%ymm11,%ymm11
4931  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
4932  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
4933  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
4934  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
4935  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
4936  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
4937  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
4938  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
4939  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
4940  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4941  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4942  DB  72,173                              ; lods          %ds:(%rsi),%rax
4943  DB  255,224                             ; jmpq          *%rax
4944
4945PUBLIC _sk_overlay_avx
4946_sk_overlay_avx LABEL PROC
4947  DB  196,98,125,24,5,233,76,0,0          ; vbroadcastss  0x4ce9(%rip),%ymm8        # 5548 <_sk_callback_avx+0x15d>
4948  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
4949  DB  197,44,89,200                       ; vmulps        %ymm0,%ymm10,%ymm9
4950  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
4951  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
4952  DB  196,65,36,88,217                    ; vaddps        %ymm9,%ymm11,%ymm11
4953  DB  197,92,88,204                       ; vaddps        %ymm4,%ymm4,%ymm9
4954  DB  197,52,194,231,2                    ; vcmpleps      %ymm7,%ymm9,%ymm12
4955  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
4956  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
4957  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
4958  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
4959  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
4960  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
4961  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
4962  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
4963  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
4964  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
4965  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
4966  DB  197,60,89,229                       ; vmulps        %ymm5,%ymm8,%ymm12
4967  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
4968  DB  197,84,88,229                       ; vaddps        %ymm5,%ymm5,%ymm12
4969  DB  197,28,194,231,2                    ; vcmpleps      %ymm7,%ymm12,%ymm12
4970  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
4971  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
4972  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
4973  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
4974  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
4975  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
4976  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
4977  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
4978  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
4979  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
4980  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
4981  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
4982  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
4983  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
4984  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
4985  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
4986  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
4987  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
4988  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
4989  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
4990  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
4991  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
4992  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
4993  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
4994  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
4995  DB  72,173                              ; lods          %ds:(%rsi),%rax
4996  DB  255,224                             ; jmpq          *%rax
4997
4998PUBLIC _sk_softlight_avx
4999_sk_softlight_avx LABEL PROC
5000  DB  72,131,236,88                       ; sub           $0x58,%rsp
5001  DB  197,252,17,84,36,32                 ; vmovups       %ymm2,0x20(%rsp)
5002  DB  197,252,40,209                      ; vmovaps       %ymm1,%ymm2
5003  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
5004  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
5005  DB  197,52,194,215,1                    ; vcmpltps      %ymm7,%ymm9,%ymm10
5006  DB  197,92,94,199                       ; vdivps        %ymm7,%ymm4,%ymm8
5007  DB  196,67,53,74,224,160                ; vblendvps     %ymm10,%ymm8,%ymm9,%ymm12
5008  DB  196,65,28,88,196                    ; vaddps        %ymm12,%ymm12,%ymm8
5009  DB  196,65,60,88,192                    ; vaddps        %ymm8,%ymm8,%ymm8
5010  DB  196,65,60,89,216                    ; vmulps        %ymm8,%ymm8,%ymm11
5011  DB  196,65,60,88,195                    ; vaddps        %ymm11,%ymm8,%ymm8
5012  DB  196,98,125,24,29,220,75,0,0         ; vbroadcastss  0x4bdc(%rip),%ymm11        # 5550 <_sk_callback_avx+0x165>
5013  DB  196,65,28,88,235                    ; vaddps        %ymm11,%ymm12,%ymm13
5014  DB  196,65,20,89,192                    ; vmulps        %ymm8,%ymm13,%ymm8
5015  DB  196,98,125,24,45,205,75,0,0         ; vbroadcastss  0x4bcd(%rip),%ymm13        # 5554 <_sk_callback_avx+0x169>
5016  DB  196,65,28,89,245                    ; vmulps        %ymm13,%ymm12,%ymm14
5017  DB  196,65,12,88,192                    ; vaddps        %ymm8,%ymm14,%ymm8
5018  DB  196,65,124,82,244                   ; vrsqrtps      %ymm12,%ymm14
5019  DB  196,65,124,83,246                   ; vrcpps        %ymm14,%ymm14
5020  DB  196,65,12,92,244                    ; vsubps        %ymm12,%ymm14,%ymm14
5021  DB  197,92,88,252                       ; vaddps        %ymm4,%ymm4,%ymm15
5022  DB  196,65,4,88,255                     ; vaddps        %ymm15,%ymm15,%ymm15
5023  DB  197,4,194,255,2                     ; vcmpleps      %ymm7,%ymm15,%ymm15
5024  DB  196,67,13,74,240,240                ; vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
5025  DB  197,116,88,249                      ; vaddps        %ymm1,%ymm1,%ymm15
5026  DB  196,98,125,24,5,139,75,0,0          ; vbroadcastss  0x4b8b(%rip),%ymm8        # 554c <_sk_callback_avx+0x161>
5027  DB  196,65,60,92,228                    ; vsubps        %ymm12,%ymm8,%ymm12
5028  DB  197,132,92,195                      ; vsubps        %ymm3,%ymm15,%ymm0
5029  DB  196,65,124,89,228                   ; vmulps        %ymm12,%ymm0,%ymm12
5030  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
5031  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
5032  DB  197,100,89,244                      ; vmulps        %ymm4,%ymm3,%ymm14
5033  DB  197,140,88,192                      ; vaddps        %ymm0,%ymm14,%ymm0
5034  DB  197,28,88,227                       ; vaddps        %ymm3,%ymm12,%ymm12
5035  DB  197,28,89,228                       ; vmulps        %ymm4,%ymm12,%ymm12
5036  DB  197,4,194,243,2                     ; vcmpleps      %ymm3,%ymm15,%ymm14
5037  DB  196,195,125,74,196,224              ; vblendvps     %ymm14,%ymm12,%ymm0,%ymm0
5038  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
5039  DB  197,212,94,199                      ; vdivps        %ymm7,%ymm5,%ymm0
5040  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
5041  DB  197,124,88,240                      ; vaddps        %ymm0,%ymm0,%ymm14
5042  DB  196,65,12,88,246                    ; vaddps        %ymm14,%ymm14,%ymm14
5043  DB  196,65,12,89,254                    ; vmulps        %ymm14,%ymm14,%ymm15
5044  DB  196,65,12,88,247                    ; vaddps        %ymm15,%ymm14,%ymm14
5045  DB  196,65,124,88,251                   ; vaddps        %ymm11,%ymm0,%ymm15
5046  DB  196,65,4,89,246                     ; vmulps        %ymm14,%ymm15,%ymm14
5047  DB  196,65,124,89,253                   ; vmulps        %ymm13,%ymm0,%ymm15
5048  DB  196,65,4,88,246                     ; vaddps        %ymm14,%ymm15,%ymm14
5049  DB  197,124,82,248                      ; vrsqrtps      %ymm0,%ymm15
5050  DB  196,65,124,83,255                   ; vrcpps        %ymm15,%ymm15
5051  DB  197,4,92,248                        ; vsubps        %ymm0,%ymm15,%ymm15
5052  DB  197,84,88,229                       ; vaddps        %ymm5,%ymm5,%ymm12
5053  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
5054  DB  197,28,194,231,2                    ; vcmpleps      %ymm7,%ymm12,%ymm12
5055  DB  196,67,5,74,230,192                 ; vblendvps     %ymm12,%ymm14,%ymm15,%ymm12
5056  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
5057  DB  197,108,88,242                      ; vaddps        %ymm2,%ymm2,%ymm14
5058  DB  197,12,92,251                       ; vsubps        %ymm3,%ymm14,%ymm15
5059  DB  197,132,89,192                      ; vmulps        %ymm0,%ymm15,%ymm0
5060  DB  197,4,89,255                        ; vmulps        %ymm7,%ymm15,%ymm15
5061  DB  196,65,4,89,228                     ; vmulps        %ymm12,%ymm15,%ymm12
5062  DB  197,100,89,253                      ; vmulps        %ymm5,%ymm3,%ymm15
5063  DB  196,65,4,88,228                     ; vaddps        %ymm12,%ymm15,%ymm12
5064  DB  197,252,88,195                      ; vaddps        %ymm3,%ymm0,%ymm0
5065  DB  197,252,89,197                      ; vmulps        %ymm5,%ymm0,%ymm0
5066  DB  197,12,194,243,2                    ; vcmpleps      %ymm3,%ymm14,%ymm14
5067  DB  196,99,29,74,240,224                ; vblendvps     %ymm14,%ymm0,%ymm12,%ymm14
5068  DB  197,204,94,199                      ; vdivps        %ymm7,%ymm6,%ymm0
5069  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
5070  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
5071  DB  196,65,52,88,201                    ; vaddps        %ymm9,%ymm9,%ymm9
5072  DB  196,65,52,89,209                    ; vmulps        %ymm9,%ymm9,%ymm10
5073  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
5074  DB  196,65,124,88,211                   ; vaddps        %ymm11,%ymm0,%ymm10
5075  DB  196,65,44,89,201                    ; vmulps        %ymm9,%ymm10,%ymm9
5076  DB  196,65,124,89,213                   ; vmulps        %ymm13,%ymm0,%ymm10
5077  DB  196,65,44,88,201                    ; vaddps        %ymm9,%ymm10,%ymm9
5078  DB  197,124,82,208                      ; vrsqrtps      %ymm0,%ymm10
5079  DB  196,65,124,83,210                   ; vrcpps        %ymm10,%ymm10
5080  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
5081  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
5082  DB  196,65,36,88,219                    ; vaddps        %ymm11,%ymm11,%ymm11
5083  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
5084  DB  196,67,45,74,201,176                ; vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
5085  DB  197,124,16,100,36,32                ; vmovups       0x20(%rsp),%ymm12
5086  DB  196,65,28,88,212                    ; vaddps        %ymm12,%ymm12,%ymm10
5087  DB  197,44,92,219                       ; vsubps        %ymm3,%ymm10,%ymm11
5088  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
5089  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
5090  DB  197,36,89,223                       ; vmulps        %ymm7,%ymm11,%ymm11
5091  DB  196,65,36,89,201                    ; vmulps        %ymm9,%ymm11,%ymm9
5092  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
5093  DB  196,65,36,88,201                    ; vaddps        %ymm9,%ymm11,%ymm9
5094  DB  197,252,88,195                      ; vaddps        %ymm3,%ymm0,%ymm0
5095  DB  197,252,89,198                      ; vmulps        %ymm6,%ymm0,%ymm0
5096  DB  197,44,194,211,2                    ; vcmpleps      %ymm3,%ymm10,%ymm10
5097  DB  196,99,53,74,200,160                ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
5098  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
5099  DB  197,172,89,193                      ; vmulps        %ymm1,%ymm10,%ymm0
5100  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
5101  DB  197,188,89,204                      ; vmulps        %ymm4,%ymm8,%ymm1
5102  DB  197,244,88,192                      ; vaddps        %ymm0,%ymm1,%ymm0
5103  DB  197,252,88,4,36                     ; vaddps        (%rsp),%ymm0,%ymm0
5104  DB  197,172,89,202                      ; vmulps        %ymm2,%ymm10,%ymm1
5105  DB  197,188,89,213                      ; vmulps        %ymm5,%ymm8,%ymm2
5106  DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
5107  DB  196,193,116,88,206                  ; vaddps        %ymm14,%ymm1,%ymm1
5108  DB  196,193,44,89,212                   ; vmulps        %ymm12,%ymm10,%ymm2
5109  DB  197,60,89,214                       ; vmulps        %ymm6,%ymm8,%ymm10
5110  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
5111  DB  196,193,108,88,209                  ; vaddps        %ymm9,%ymm2,%ymm2
5112  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
5113  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
5114  DB  72,173                              ; lods          %ds:(%rsi),%rax
5115  DB  72,131,196,88                       ; add           $0x58,%rsp
5116  DB  255,224                             ; jmpq          *%rax
5117
5118PUBLIC _sk_clamp_0_avx
5119_sk_clamp_0_avx LABEL PROC
5120  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
5121  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
5122  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
5123  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
5124  DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
5125  DB  72,173                              ; lods          %ds:(%rsi),%rax
5126  DB  255,224                             ; jmpq          *%rax
5127
5128PUBLIC _sk_clamp_1_avx
5129_sk_clamp_1_avx LABEL PROC
5130  DB  196,98,125,24,5,217,73,0,0          ; vbroadcastss  0x49d9(%rip),%ymm8        # 5558 <_sk_callback_avx+0x16d>
5131  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
5132  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
5133  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
5134  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
5135  DB  72,173                              ; lods          %ds:(%rsi),%rax
5136  DB  255,224                             ; jmpq          *%rax
5137
5138PUBLIC _sk_clamp_a_avx
5139_sk_clamp_a_avx LABEL PROC
5140  DB  196,98,125,24,5,188,73,0,0          ; vbroadcastss  0x49bc(%rip),%ymm8        # 555c <_sk_callback_avx+0x171>
5141  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
5142  DB  197,252,93,195                      ; vminps        %ymm3,%ymm0,%ymm0
5143  DB  197,244,93,203                      ; vminps        %ymm3,%ymm1,%ymm1
5144  DB  197,236,93,211                      ; vminps        %ymm3,%ymm2,%ymm2
5145  DB  72,173                              ; lods          %ds:(%rsi),%rax
5146  DB  255,224                             ; jmpq          *%rax
5147
5148PUBLIC _sk_set_rgb_avx
5149_sk_set_rgb_avx LABEL PROC
5150  DB  72,173                              ; lods          %ds:(%rsi),%rax
5151  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
5152  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
5153  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
5154  DB  72,173                              ; lods          %ds:(%rsi),%rax
5155  DB  255,224                             ; jmpq          *%rax
5156
5157PUBLIC _sk_swap_rb_avx
5158_sk_swap_rb_avx LABEL PROC
5159  DB  197,124,40,192                      ; vmovaps       %ymm0,%ymm8
5160  DB  72,173                              ; lods          %ds:(%rsi),%rax
5161  DB  197,252,40,194                      ; vmovaps       %ymm2,%ymm0
5162  DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
5163  DB  255,224                             ; jmpq          *%rax
5164
5165PUBLIC _sk_swap_avx
5166_sk_swap_avx LABEL PROC
5167  DB  197,124,40,195                      ; vmovaps       %ymm3,%ymm8
5168  DB  197,124,40,202                      ; vmovaps       %ymm2,%ymm9
5169  DB  197,124,40,209                      ; vmovaps       %ymm1,%ymm10
5170  DB  197,124,40,216                      ; vmovaps       %ymm0,%ymm11
5171  DB  72,173                              ; lods          %ds:(%rsi),%rax
5172  DB  197,252,40,196                      ; vmovaps       %ymm4,%ymm0
5173  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
5174  DB  197,252,40,214                      ; vmovaps       %ymm6,%ymm2
5175  DB  197,252,40,223                      ; vmovaps       %ymm7,%ymm3
5176  DB  197,124,41,220                      ; vmovaps       %ymm11,%ymm4
5177  DB  197,124,41,213                      ; vmovaps       %ymm10,%ymm5
5178  DB  197,124,41,206                      ; vmovaps       %ymm9,%ymm6
5179  DB  197,124,41,199                      ; vmovaps       %ymm8,%ymm7
5180  DB  255,224                             ; jmpq          *%rax
5181
5182PUBLIC _sk_move_src_dst_avx
5183_sk_move_src_dst_avx LABEL PROC
5184  DB  72,173                              ; lods          %ds:(%rsi),%rax
5185  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
5186  DB  197,252,40,233                      ; vmovaps       %ymm1,%ymm5
5187  DB  197,252,40,242                      ; vmovaps       %ymm2,%ymm6
5188  DB  197,252,40,251                      ; vmovaps       %ymm3,%ymm7
5189  DB  255,224                             ; jmpq          *%rax
5190
5191PUBLIC _sk_move_dst_src_avx
5192_sk_move_dst_src_avx LABEL PROC
5193  DB  72,173                              ; lods          %ds:(%rsi),%rax
5194  DB  197,252,40,196                      ; vmovaps       %ymm4,%ymm0
5195  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
5196  DB  197,252,40,214                      ; vmovaps       %ymm6,%ymm2
5197  DB  197,252,40,223                      ; vmovaps       %ymm7,%ymm3
5198  DB  255,224                             ; jmpq          *%rax
5199
5200PUBLIC _sk_premul_avx
5201_sk_premul_avx LABEL PROC
5202  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
5203  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
5204  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
5205  DB  72,173                              ; lods          %ds:(%rsi),%rax
5206  DB  255,224                             ; jmpq          *%rax
5207
5208PUBLIC _sk_unpremul_avx
5209_sk_unpremul_avx LABEL PROC
5210  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
5211  DB  196,65,100,194,200,0                ; vcmpeqps      %ymm8,%ymm3,%ymm9
5212  DB  196,98,125,24,21,4,73,0,0           ; vbroadcastss  0x4904(%rip),%ymm10        # 5560 <_sk_callback_avx+0x175>
5213  DB  197,44,94,211                       ; vdivps        %ymm3,%ymm10,%ymm10
5214  DB  196,67,45,74,192,144                ; vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
5215  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
5216  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
5217  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
5218  DB  72,173                              ; lods          %ds:(%rsi),%rax
5219  DB  255,224                             ; jmpq          *%rax
5220
5221PUBLIC _sk_from_srgb_avx
5222_sk_from_srgb_avx LABEL PROC
5223  DB  196,98,125,24,5,229,72,0,0          ; vbroadcastss  0x48e5(%rip),%ymm8        # 5564 <_sk_callback_avx+0x179>
5224  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
5225  DB  197,124,89,208                      ; vmulps        %ymm0,%ymm0,%ymm10
5226  DB  196,98,125,24,29,215,72,0,0         ; vbroadcastss  0x48d7(%rip),%ymm11        # 5568 <_sk_callback_avx+0x17d>
5227  DB  196,65,124,89,227                   ; vmulps        %ymm11,%ymm0,%ymm12
5228  DB  196,98,125,24,45,205,72,0,0         ; vbroadcastss  0x48cd(%rip),%ymm13        # 556c <_sk_callback_avx+0x181>
5229  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
5230  DB  196,65,44,89,212                    ; vmulps        %ymm12,%ymm10,%ymm10
5231  DB  196,98,125,24,37,190,72,0,0         ; vbroadcastss  0x48be(%rip),%ymm12        # 5570 <_sk_callback_avx+0x185>
5232  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
5233  DB  196,98,125,24,53,180,72,0,0         ; vbroadcastss  0x48b4(%rip),%ymm14        # 5574 <_sk_callback_avx+0x189>
5234  DB  196,193,124,194,198,1               ; vcmpltps      %ymm14,%ymm0,%ymm0
5235  DB  196,195,45,74,193,0                 ; vblendvps     %ymm0,%ymm9,%ymm10,%ymm0
5236  DB  196,65,116,89,200                   ; vmulps        %ymm8,%ymm1,%ymm9
5237  DB  197,116,89,209                      ; vmulps        %ymm1,%ymm1,%ymm10
5238  DB  196,65,116,89,251                   ; vmulps        %ymm11,%ymm1,%ymm15
5239  DB  196,65,4,88,253                     ; vaddps        %ymm13,%ymm15,%ymm15
5240  DB  196,65,44,89,215                    ; vmulps        %ymm15,%ymm10,%ymm10
5241  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
5242  DB  196,193,116,194,206,1               ; vcmpltps      %ymm14,%ymm1,%ymm1
5243  DB  196,195,45,74,201,16                ; vblendvps     %ymm1,%ymm9,%ymm10,%ymm1
5244  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
5245  DB  197,108,89,202                      ; vmulps        %ymm2,%ymm2,%ymm9
5246  DB  196,65,108,89,211                   ; vmulps        %ymm11,%ymm2,%ymm10
5247  DB  196,65,44,88,213                    ; vaddps        %ymm13,%ymm10,%ymm10
5248  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
5249  DB  196,65,52,88,204                    ; vaddps        %ymm12,%ymm9,%ymm9
5250  DB  196,193,108,194,214,1               ; vcmpltps      %ymm14,%ymm2,%ymm2
5251  DB  196,195,53,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
5252  DB  72,173                              ; lods          %ds:(%rsi),%rax
5253  DB  255,224                             ; jmpq          *%rax
5254
5255PUBLIC _sk_to_srgb_avx
5256_sk_to_srgb_avx LABEL PROC
5257  DB  197,124,82,192                      ; vrsqrtps      %ymm0,%ymm8
5258  DB  196,65,124,83,200                   ; vrcpps        %ymm8,%ymm9
5259  DB  196,65,124,82,208                   ; vrsqrtps      %ymm8,%ymm10
5260  DB  196,98,125,24,5,63,72,0,0           ; vbroadcastss  0x483f(%rip),%ymm8        # 5578 <_sk_callback_avx+0x18d>
5261  DB  196,65,124,89,216                   ; vmulps        %ymm8,%ymm0,%ymm11
5262  DB  196,98,125,24,37,53,72,0,0          ; vbroadcastss  0x4835(%rip),%ymm12        # 557c <_sk_callback_avx+0x191>
5263  DB  196,65,52,89,204                    ; vmulps        %ymm12,%ymm9,%ymm9
5264  DB  196,98,125,24,45,43,72,0,0          ; vbroadcastss  0x482b(%rip),%ymm13        # 5580 <_sk_callback_avx+0x195>
5265  DB  196,65,52,88,205                    ; vaddps        %ymm13,%ymm9,%ymm9
5266  DB  196,98,125,24,53,33,72,0,0          ; vbroadcastss  0x4821(%rip),%ymm14        # 5584 <_sk_callback_avx+0x199>
5267  DB  196,65,44,89,214                    ; vmulps        %ymm14,%ymm10,%ymm10
5268  DB  196,65,44,88,201                    ; vaddps        %ymm9,%ymm10,%ymm9
5269  DB  196,98,125,24,21,18,72,0,0          ; vbroadcastss  0x4812(%rip),%ymm10        # 5588 <_sk_callback_avx+0x19d>
5270  DB  196,65,44,93,201                    ; vminps        %ymm9,%ymm10,%ymm9
5271  DB  196,98,125,24,61,8,72,0,0           ; vbroadcastss  0x4808(%rip),%ymm15        # 558c <_sk_callback_avx+0x1a1>
5272  DB  196,193,124,194,199,1               ; vcmpltps      %ymm15,%ymm0,%ymm0
5273  DB  196,195,53,74,195,0                 ; vblendvps     %ymm0,%ymm11,%ymm9,%ymm0
5274  DB  197,124,82,201                      ; vrsqrtps      %ymm1,%ymm9
5275  DB  196,65,124,83,217                   ; vrcpps        %ymm9,%ymm11
5276  DB  196,65,124,82,201                   ; vrsqrtps      %ymm9,%ymm9
5277  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
5278  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
5279  DB  196,65,52,89,206                    ; vmulps        %ymm14,%ymm9,%ymm9
5280  DB  196,65,52,88,203                    ; vaddps        %ymm11,%ymm9,%ymm9
5281  DB  196,65,116,89,216                   ; vmulps        %ymm8,%ymm1,%ymm11
5282  DB  196,65,44,93,201                    ; vminps        %ymm9,%ymm10,%ymm9
5283  DB  196,193,116,194,207,1               ; vcmpltps      %ymm15,%ymm1,%ymm1
5284  DB  196,195,53,74,203,16                ; vblendvps     %ymm1,%ymm11,%ymm9,%ymm1
5285  DB  197,124,82,202                      ; vrsqrtps      %ymm2,%ymm9
5286  DB  196,65,124,83,217                   ; vrcpps        %ymm9,%ymm11
5287  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
5288  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
5289  DB  196,65,124,82,201                   ; vrsqrtps      %ymm9,%ymm9
5290  DB  196,65,52,89,206                    ; vmulps        %ymm14,%ymm9,%ymm9
5291  DB  196,65,52,88,203                    ; vaddps        %ymm11,%ymm9,%ymm9
5292  DB  196,65,44,93,201                    ; vminps        %ymm9,%ymm10,%ymm9
5293  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
5294  DB  196,193,108,194,215,1               ; vcmpltps      %ymm15,%ymm2,%ymm2
5295  DB  196,195,53,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
5296  DB  72,173                              ; lods          %ds:(%rsi),%rax
5297  DB  255,224                             ; jmpq          *%rax
5298
5299PUBLIC _sk_rgb_to_hsl_avx
5300_sk_rgb_to_hsl_avx LABEL PROC
5301  DB  197,124,95,193                      ; vmaxps        %ymm1,%ymm0,%ymm8
5302  DB  197,60,95,194                       ; vmaxps        %ymm2,%ymm8,%ymm8
5303  DB  197,124,93,201                      ; vminps        %ymm1,%ymm0,%ymm9
5304  DB  197,52,93,202                       ; vminps        %ymm2,%ymm9,%ymm9
5305  DB  196,65,60,92,209                    ; vsubps        %ymm9,%ymm8,%ymm10
5306  DB  196,98,125,24,29,110,71,0,0         ; vbroadcastss  0x476e(%rip),%ymm11        # 5590 <_sk_callback_avx+0x1a5>
5307  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
5308  DB  197,116,92,226                      ; vsubps        %ymm2,%ymm1,%ymm12
5309  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
5310  DB  197,116,194,234,1                   ; vcmpltps      %ymm2,%ymm1,%ymm13
5311  DB  197,60,194,241,0                    ; vcmpeqps      %ymm1,%ymm8,%ymm14
5312  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
5313  DB  196,193,108,89,211                  ; vmulps        %ymm11,%ymm2,%ymm2
5314  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
5315  DB  196,193,116,89,203                  ; vmulps        %ymm11,%ymm1,%ymm1
5316  DB  196,98,125,24,29,71,71,0,0          ; vbroadcastss  0x4747(%rip),%ymm11        # 559c <_sk_callback_avx+0x1b1>
5317  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
5318  DB  196,98,125,24,29,53,71,0,0          ; vbroadcastss  0x4735(%rip),%ymm11        # 5598 <_sk_callback_avx+0x1ad>
5319  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
5320  DB  196,227,117,74,202,224              ; vblendvps     %ymm14,%ymm2,%ymm1,%ymm1
5321  DB  196,226,125,24,21,29,71,0,0         ; vbroadcastss  0x471d(%rip),%ymm2        # 5594 <_sk_callback_avx+0x1a9>
5322  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
5323  DB  196,227,13,74,210,208               ; vblendvps     %ymm13,%ymm2,%ymm14,%ymm2
5324  DB  197,188,194,192,0                   ; vcmpeqps      %ymm0,%ymm8,%ymm0
5325  DB  196,193,108,88,212                  ; vaddps        %ymm12,%ymm2,%ymm2
5326  DB  196,227,117,74,194,0                ; vblendvps     %ymm0,%ymm2,%ymm1,%ymm0
5327  DB  196,193,60,88,201                   ; vaddps        %ymm9,%ymm8,%ymm1
5328  DB  196,98,125,24,37,4,71,0,0           ; vbroadcastss  0x4704(%rip),%ymm12        # 55a4 <_sk_callback_avx+0x1b9>
5329  DB  196,193,116,89,212                  ; vmulps        %ymm12,%ymm1,%ymm2
5330  DB  197,28,194,226,1                    ; vcmpltps      %ymm2,%ymm12,%ymm12
5331  DB  196,65,36,92,216                    ; vsubps        %ymm8,%ymm11,%ymm11
5332  DB  196,65,36,92,217                    ; vsubps        %ymm9,%ymm11,%ymm11
5333  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
5334  DB  196,65,60,194,193,0                 ; vcmpeqps      %ymm9,%ymm8,%ymm8
5335  DB  197,172,94,201                      ; vdivps        %ymm1,%ymm10,%ymm1
5336  DB  196,195,125,74,198,128              ; vblendvps     %ymm8,%ymm14,%ymm0,%ymm0
5337  DB  196,195,117,74,206,128              ; vblendvps     %ymm8,%ymm14,%ymm1,%ymm1
5338  DB  196,98,125,24,5,199,70,0,0          ; vbroadcastss  0x46c7(%rip),%ymm8        # 55a0 <_sk_callback_avx+0x1b5>
5339  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
5340  DB  72,173                              ; lods          %ds:(%rsi),%rax
5341  DB  255,224                             ; jmpq          *%rax
5342
5343PUBLIC _sk_hsl_to_rgb_avx
5344_sk_hsl_to_rgb_avx LABEL PROC
5345  DB  72,129,236,184,0,0,0                ; sub           $0xb8,%rsp
5346  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
5347  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
5348  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
5349  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
5350  DB  197,252,17,28,36                    ; vmovups       %ymm3,(%rsp)
5351  DB  197,252,40,225                      ; vmovaps       %ymm1,%ymm4
5352  DB  197,252,40,216                      ; vmovaps       %ymm0,%ymm3
5353  DB  196,98,125,24,5,142,70,0,0          ; vbroadcastss  0x468e(%rip),%ymm8        # 55a8 <_sk_callback_avx+0x1bd>
5354  DB  197,60,194,202,2                    ; vcmpleps      %ymm2,%ymm8,%ymm9
5355  DB  197,92,89,210                       ; vmulps        %ymm2,%ymm4,%ymm10
5356  DB  196,65,92,92,218                    ; vsubps        %ymm10,%ymm4,%ymm11
5357  DB  196,67,45,74,203,144                ; vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
5358  DB  197,52,88,210                       ; vaddps        %ymm2,%ymm9,%ymm10
5359  DB  197,108,88,202                      ; vaddps        %ymm2,%ymm2,%ymm9
5360  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
5361  DB  196,98,125,24,29,104,70,0,0         ; vbroadcastss  0x4668(%rip),%ymm11        # 55ac <_sk_callback_avx+0x1c1>
5362  DB  196,65,100,88,219                   ; vaddps        %ymm11,%ymm3,%ymm11
5363  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
5364  DB  196,65,36,92,252                    ; vsubps        %ymm12,%ymm11,%ymm15
5365  DB  196,65,44,92,217                    ; vsubps        %ymm9,%ymm10,%ymm11
5366  DB  196,98,125,24,37,82,70,0,0          ; vbroadcastss  0x4652(%rip),%ymm12        # 55b4 <_sk_callback_avx+0x1c9>
5367  DB  196,193,4,89,196                    ; vmulps        %ymm12,%ymm15,%ymm0
5368  DB  196,98,125,24,45,72,70,0,0          ; vbroadcastss  0x4648(%rip),%ymm13        # 55b8 <_sk_callback_avx+0x1cd>
5369  DB  197,20,92,240                       ; vsubps        %ymm0,%ymm13,%ymm14
5370  DB  196,65,36,89,246                    ; vmulps        %ymm14,%ymm11,%ymm14
5371  DB  196,65,52,88,246                    ; vaddps        %ymm14,%ymm9,%ymm14
5372  DB  196,226,125,24,13,41,70,0,0         ; vbroadcastss  0x4629(%rip),%ymm1        # 55b0 <_sk_callback_avx+0x1c5>
5373  DB  196,193,116,194,255,2               ; vcmpleps      %ymm15,%ymm1,%ymm7
5374  DB  196,195,13,74,249,112               ; vblendvps     %ymm7,%ymm9,%ymm14,%ymm7
5375  DB  196,65,60,194,247,2                 ; vcmpleps      %ymm15,%ymm8,%ymm14
5376  DB  196,227,45,74,255,224               ; vblendvps     %ymm14,%ymm7,%ymm10,%ymm7
5377  DB  196,98,125,24,53,20,70,0,0          ; vbroadcastss  0x4614(%rip),%ymm14        # 55bc <_sk_callback_avx+0x1d1>
5378  DB  196,65,12,194,255,2                 ; vcmpleps      %ymm15,%ymm14,%ymm15
5379  DB  196,193,124,89,195                  ; vmulps        %ymm11,%ymm0,%ymm0
5380  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
5381  DB  196,99,125,74,255,240               ; vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
5382  DB  196,227,125,8,195,1                 ; vroundps      $0x1,%ymm3,%ymm0
5383  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
5384  DB  196,193,124,89,252                  ; vmulps        %ymm12,%ymm0,%ymm7
5385  DB  197,148,92,247                      ; vsubps        %ymm7,%ymm13,%ymm6
5386  DB  197,164,89,246                      ; vmulps        %ymm6,%ymm11,%ymm6
5387  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
5388  DB  197,244,194,232,2                   ; vcmpleps      %ymm0,%ymm1,%ymm5
5389  DB  196,195,77,74,233,80                ; vblendvps     %ymm5,%ymm9,%ymm6,%ymm5
5390  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
5391  DB  196,227,45,74,237,96                ; vblendvps     %ymm6,%ymm5,%ymm10,%ymm5
5392  DB  197,140,194,192,2                   ; vcmpleps      %ymm0,%ymm14,%ymm0
5393  DB  197,164,89,247                      ; vmulps        %ymm7,%ymm11,%ymm6
5394  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
5395  DB  196,227,77,74,237,0                 ; vblendvps     %ymm0,%ymm5,%ymm6,%ymm5
5396  DB  196,226,125,24,5,182,69,0,0         ; vbroadcastss  0x45b6(%rip),%ymm0        # 55c0 <_sk_callback_avx+0x1d5>
5397  DB  197,228,88,192                      ; vaddps        %ymm0,%ymm3,%ymm0
5398  DB  196,227,125,8,216,1                 ; vroundps      $0x1,%ymm0,%ymm3
5399  DB  197,252,92,195                      ; vsubps        %ymm3,%ymm0,%ymm0
5400  DB  197,244,194,200,2                   ; vcmpleps      %ymm0,%ymm1,%ymm1
5401  DB  196,193,124,89,220                  ; vmulps        %ymm12,%ymm0,%ymm3
5402  DB  197,148,92,243                      ; vsubps        %ymm3,%ymm13,%ymm6
5403  DB  197,164,89,246                      ; vmulps        %ymm6,%ymm11,%ymm6
5404  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
5405  DB  196,195,77,74,201,16                ; vblendvps     %ymm1,%ymm9,%ymm6,%ymm1
5406  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
5407  DB  196,227,45,74,201,96                ; vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
5408  DB  197,140,194,192,2                   ; vcmpleps      %ymm0,%ymm14,%ymm0
5409  DB  197,164,89,219                      ; vmulps        %ymm3,%ymm11,%ymm3
5410  DB  197,180,88,219                      ; vaddps        %ymm3,%ymm9,%ymm3
5411  DB  196,227,101,74,217,0                ; vblendvps     %ymm0,%ymm1,%ymm3,%ymm3
5412  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
5413  DB  197,220,194,224,0                   ; vcmpeqps      %ymm0,%ymm4,%ymm4
5414  DB  196,227,5,74,194,64                 ; vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
5415  DB  196,227,85,74,202,64                ; vblendvps     %ymm4,%ymm2,%ymm5,%ymm1
5416  DB  196,227,101,74,210,64               ; vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
5417  DB  72,173                              ; lods          %ds:(%rsi),%rax
5418  DB  197,252,16,28,36                    ; vmovups       (%rsp),%ymm3
5419  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
5420  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
5421  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
5422  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
5423  DB  72,129,196,184,0,0,0                ; add           $0xb8,%rsp
5424  DB  255,224                             ; jmpq          *%rax
5425
5426PUBLIC _sk_scale_1_float_avx
5427_sk_scale_1_float_avx LABEL PROC
5428  DB  72,173                              ; lods          %ds:(%rsi),%rax
5429  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
5430  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
5431  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
5432  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
5433  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
5434  DB  72,173                              ; lods          %ds:(%rsi),%rax
5435  DB  255,224                             ; jmpq          *%rax
5436
5437PUBLIC _sk_scale_u8_avx
5438_sk_scale_u8_avx LABEL PROC
5439  DB  73,137,200                          ; mov           %rcx,%r8
5440  DB  72,173                              ; lods          %ds:(%rsi),%rax
5441  DB  72,139,0                            ; mov           (%rax),%rax
5442  DB  72,1,248                            ; add           %rdi,%rax
5443  DB  77,133,192                          ; test          %r8,%r8
5444  DB  117,68                              ; jne           1107 <_sk_scale_u8_avx+0x54>
5445  DB  197,122,126,0                       ; vmovq         (%rax),%xmm8
5446  DB  196,66,121,49,200                   ; vpmovzxbd     %xmm8,%xmm9
5447  DB  196,67,121,4,192,229                ; vpermilps     $0xe5,%xmm8,%xmm8
5448  DB  196,66,121,49,192                   ; vpmovzxbd     %xmm8,%xmm8
5449  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
5450  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
5451  DB  196,98,125,24,13,217,68,0,0         ; vbroadcastss  0x44d9(%rip),%ymm9        # 55c4 <_sk_callback_avx+0x1d9>
5452  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
5453  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
5454  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
5455  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
5456  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
5457  DB  72,173                              ; lods          %ds:(%rsi),%rax
5458  DB  76,137,193                          ; mov           %r8,%rcx
5459  DB  255,224                             ; jmpq          *%rax
5460  DB  49,201                              ; xor           %ecx,%ecx
5461  DB  77,137,194                          ; mov           %r8,%r10
5462  DB  69,49,201                           ; xor           %r9d,%r9d
5463  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
5464  DB  72,255,192                          ; inc           %rax
5465  DB  73,211,227                          ; shl           %cl,%r11
5466  DB  77,9,217                            ; or            %r11,%r9
5467  DB  72,131,193,8                        ; add           $0x8,%rcx
5468  DB  73,255,202                          ; dec           %r10
5469  DB  117,234                             ; jne           110f <_sk_scale_u8_avx+0x5c>
5470  DB  196,65,249,110,193                  ; vmovq         %r9,%xmm8
5471  DB  235,155                             ; jmp           10c7 <_sk_scale_u8_avx+0x14>
5472
5473PUBLIC _sk_lerp_1_float_avx
5474_sk_lerp_1_float_avx LABEL PROC
5475  DB  72,173                              ; lods          %ds:(%rsi),%rax
5476  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
5477  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
5478  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
5479  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
5480  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
5481  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
5482  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
5483  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
5484  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
5485  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
5486  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
5487  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
5488  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
5489  DB  72,173                              ; lods          %ds:(%rsi),%rax
5490  DB  255,224                             ; jmpq          *%rax
5491
5492PUBLIC _sk_lerp_u8_avx
5493_sk_lerp_u8_avx LABEL PROC
5494  DB  73,137,200                          ; mov           %rcx,%r8
5495  DB  72,173                              ; lods          %ds:(%rsi),%rax
5496  DB  72,139,0                            ; mov           (%rax),%rax
5497  DB  72,1,248                            ; add           %rdi,%rax
5498  DB  77,133,192                          ; test          %r8,%r8
5499  DB  117,104                             ; jne           11e3 <_sk_lerp_u8_avx+0x78>
5500  DB  197,122,126,0                       ; vmovq         (%rax),%xmm8
5501  DB  196,66,121,49,200                   ; vpmovzxbd     %xmm8,%xmm9
5502  DB  196,67,121,4,192,229                ; vpermilps     $0xe5,%xmm8,%xmm8
5503  DB  196,66,121,49,192                   ; vpmovzxbd     %xmm8,%xmm8
5504  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
5505  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
5506  DB  196,98,125,24,13,37,68,0,0          ; vbroadcastss  0x4425(%rip),%ymm9        # 55c8 <_sk_callback_avx+0x1dd>
5507  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
5508  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
5509  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
5510  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
5511  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
5512  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
5513  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
5514  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
5515  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
5516  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
5517  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
5518  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
5519  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
5520  DB  72,173                              ; lods          %ds:(%rsi),%rax
5521  DB  76,137,193                          ; mov           %r8,%rcx
5522  DB  255,224                             ; jmpq          *%rax
5523  DB  49,201                              ; xor           %ecx,%ecx
5524  DB  77,137,194                          ; mov           %r8,%r10
5525  DB  69,49,201                           ; xor           %r9d,%r9d
5526  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
5527  DB  72,255,192                          ; inc           %rax
5528  DB  73,211,227                          ; shl           %cl,%r11
5529  DB  77,9,217                            ; or            %r11,%r9
5530  DB  72,131,193,8                        ; add           $0x8,%rcx
5531  DB  73,255,202                          ; dec           %r10
5532  DB  117,234                             ; jne           11eb <_sk_lerp_u8_avx+0x80>
5533  DB  196,65,249,110,193                  ; vmovq         %r9,%xmm8
5534  DB  233,116,255,255,255                 ; jmpq          117f <_sk_lerp_u8_avx+0x14>
5535
5536PUBLIC _sk_lerp_565_avx
5537_sk_lerp_565_avx LABEL PROC
5538  DB  72,173                              ; lods          %ds:(%rsi),%rax
5539  DB  76,139,16                           ; mov           (%rax),%r10
5540  DB  72,133,201                          ; test          %rcx,%rcx
5541  DB  15,133,174,0,0,0                    ; jne           12c7 <_sk_lerp_565_avx+0xbc>
5542  DB  196,65,122,111,4,122                ; vmovdqu       (%r10,%rdi,2),%xmm8
5543  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
5544  DB  197,185,105,219                     ; vpunpckhwd    %xmm3,%xmm8,%xmm3
5545  DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
5546  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
5547  DB  196,98,125,24,5,145,67,0,0          ; vbroadcastss  0x4391(%rip),%ymm8        # 55cc <_sk_callback_avx+0x1e1>
5548  DB  196,65,100,84,192                   ; vandps        %ymm8,%ymm3,%ymm8
5549  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
5550  DB  196,98,125,24,13,130,67,0,0         ; vbroadcastss  0x4382(%rip),%ymm9        # 55d0 <_sk_callback_avx+0x1e5>
5551  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
5552  DB  196,98,125,24,13,120,67,0,0         ; vbroadcastss  0x4378(%rip),%ymm9        # 55d4 <_sk_callback_avx+0x1e9>
5553  DB  196,65,100,84,201                   ; vandps        %ymm9,%ymm3,%ymm9
5554  DB  196,65,124,91,201                   ; vcvtdq2ps     %ymm9,%ymm9
5555  DB  196,98,125,24,21,105,67,0,0         ; vbroadcastss  0x4369(%rip),%ymm10        # 55d8 <_sk_callback_avx+0x1ed>
5556  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
5557  DB  196,98,125,24,21,95,67,0,0          ; vbroadcastss  0x435f(%rip),%ymm10        # 55dc <_sk_callback_avx+0x1f1>
5558  DB  196,193,100,84,218                  ; vandps        %ymm10,%ymm3,%ymm3
5559  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
5560  DB  196,98,125,24,21,81,67,0,0          ; vbroadcastss  0x4351(%rip),%ymm10        # 55e0 <_sk_callback_avx+0x1f5>
5561  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
5562  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
5563  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
5564  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
5565  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
5566  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
5567  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
5568  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
5569  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
5570  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
5571  DB  72,173                              ; lods          %ds:(%rsi),%rax
5572  DB  196,226,125,24,29,31,67,0,0         ; vbroadcastss  0x431f(%rip),%ymm3        # 55e4 <_sk_callback_avx+0x1f9>
5573  DB  255,224                             ; jmpq          *%rax
5574  DB  65,137,200                          ; mov           %ecx,%r8d
5575  DB  65,128,224,7                        ; and           $0x7,%r8b
5576  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
5577  DB  65,254,200                          ; dec           %r8b
5578  DB  65,128,248,6                        ; cmp           $0x6,%r8b
5579  DB  15,135,63,255,255,255               ; ja            121f <_sk_lerp_565_avx+0x14>
5580  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
5581  DB  76,141,13,73,0,0,0                  ; lea           0x49(%rip),%r9        # 1334 <_sk_lerp_565_avx+0x129>
5582  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
5583  DB  76,1,200                            ; add           %r9,%rax
5584  DB  255,224                             ; jmpq          *%rax
5585  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
5586  DB  196,65,97,196,68,122,12,6           ; vpinsrw       $0x6,0xc(%r10,%rdi,2),%xmm3,%xmm8
5587  DB  196,65,57,196,68,122,10,5           ; vpinsrw       $0x5,0xa(%r10,%rdi,2),%xmm8,%xmm8
5588  DB  196,65,57,196,68,122,8,4            ; vpinsrw       $0x4,0x8(%r10,%rdi,2),%xmm8,%xmm8
5589  DB  196,65,57,196,68,122,6,3            ; vpinsrw       $0x3,0x6(%r10,%rdi,2),%xmm8,%xmm8
5590  DB  196,65,57,196,68,122,4,2            ; vpinsrw       $0x2,0x4(%r10,%rdi,2),%xmm8,%xmm8
5591  DB  196,65,57,196,68,122,2,1            ; vpinsrw       $0x1,0x2(%r10,%rdi,2),%xmm8,%xmm8
5592  DB  196,65,57,196,4,122,0               ; vpinsrw       $0x0,(%r10,%rdi,2),%xmm8,%xmm8
5593  DB  233,235,254,255,255                 ; jmpq          121f <_sk_lerp_565_avx+0x14>
5594  DB  244                                 ; hlt
5595  DB  255                                 ; (bad)
5596  DB  255                                 ; (bad)
5597  DB  255                                 ; (bad)
5598  DB  236                                 ; in            (%dx),%al
5599  DB  255                                 ; (bad)
5600  DB  255                                 ; (bad)
5601  DB  255,228                             ; jmpq          *%rsp
5602  DB  255                                 ; (bad)
5603  DB  255                                 ; (bad)
5604  DB  255                                 ; (bad)
5605  DB  220,255                             ; fdivr         %st,%st(7)
5606  DB  255                                 ; (bad)
5607  DB  255,212                             ; callq         *%rsp
5608  DB  255                                 ; (bad)
5609  DB  255                                 ; (bad)
5610  DB  255,204                             ; dec           %esp
5611  DB  255                                 ; (bad)
5612  DB  255                                 ; (bad)
5613  DB  255,192                             ; inc           %eax
5614  DB  255                                 ; (bad)
5615  DB  255                                 ; (bad)
5616  DB  255                                 ; .byte         0xff
5617
5618PUBLIC _sk_load_tables_avx
5619_sk_load_tables_avx LABEL PROC
5620  DB  72,173                              ; lods          %ds:(%rsi),%rax
5621  DB  76,139,0                            ; mov           (%rax),%r8
5622  DB  72,133,201                          ; test          %rcx,%rcx
5623  DB  15,133,26,2,0,0                     ; jne           1578 <_sk_load_tables_avx+0x228>
5624  DB  196,65,124,16,4,184                 ; vmovups       (%r8,%rdi,4),%ymm8
5625  DB  85                                  ; push          %rbp
5626  DB  65,87                               ; push          %r15
5627  DB  65,86                               ; push          %r14
5628  DB  65,85                               ; push          %r13
5629  DB  65,84                               ; push          %r12
5630  DB  83                                  ; push          %rbx
5631  DB  197,124,40,13,74,69,0,0             ; vmovaps       0x454a(%rip),%ymm9        # 58c0 <_sk_callback_avx+0x4d5>
5632  DB  196,193,60,84,193                   ; vandps        %ymm9,%ymm8,%ymm0
5633  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
5634  DB  69,137,203                          ; mov           %r9d,%r11d
5635  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
5636  DB  69,137,214                          ; mov           %r10d,%r14d
5637  DB  73,193,234,32                       ; shr           $0x20,%r10
5638  DB  73,193,233,32                       ; shr           $0x20,%r9
5639  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
5640  DB  196,193,249,126,196                 ; vmovq         %xmm0,%r12
5641  DB  69,137,231                          ; mov           %r12d,%r15d
5642  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
5643  DB  65,137,221                          ; mov           %ebx,%r13d
5644  DB  72,193,235,32                       ; shr           $0x20,%rbx
5645  DB  73,193,236,32                       ; shr           $0x20,%r12
5646  DB  72,139,104,8                        ; mov           0x8(%rax),%rbp
5647  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
5648  DB  196,161,122,16,68,189,0             ; vmovss        0x0(%rbp,%r15,4),%xmm0
5649  DB  196,163,121,33,68,165,0,16          ; vinsertps     $0x10,0x0(%rbp,%r12,4),%xmm0,%xmm0
5650  DB  196,163,121,33,68,173,0,32          ; vinsertps     $0x20,0x0(%rbp,%r13,4),%xmm0,%xmm0
5651  DB  196,227,121,33,68,157,0,48          ; vinsertps     $0x30,0x0(%rbp,%rbx,4),%xmm0,%xmm0
5652  DB  196,161,122,16,76,157,0             ; vmovss        0x0(%rbp,%r11,4),%xmm1
5653  DB  196,163,113,33,76,141,0,16          ; vinsertps     $0x10,0x0(%rbp,%r9,4),%xmm1,%xmm1
5654  DB  196,163,113,33,76,181,0,32          ; vinsertps     $0x20,0x0(%rbp,%r14,4),%xmm1,%xmm1
5655  DB  196,163,113,33,76,149,0,48          ; vinsertps     $0x30,0x0(%rbp,%r10,4),%xmm1,%xmm1
5656  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
5657  DB  196,193,113,114,208,8               ; vpsrld        $0x8,%xmm8,%xmm1
5658  DB  196,67,125,25,194,1                 ; vextractf128  $0x1,%ymm8,%xmm10
5659  DB  196,193,105,114,210,8               ; vpsrld        $0x8,%xmm10,%xmm2
5660  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
5661  DB  196,193,116,84,201                  ; vandps        %ymm9,%ymm1,%ymm1
5662  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
5663  DB  69,137,203                          ; mov           %r9d,%r11d
5664  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
5665  DB  69,137,214                          ; mov           %r10d,%r14d
5666  DB  73,193,234,32                       ; shr           $0x20,%r10
5667  DB  73,193,233,32                       ; shr           $0x20,%r9
5668  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
5669  DB  196,225,249,126,205                 ; vmovq         %xmm1,%rbp
5670  DB  65,137,239                          ; mov           %ebp,%r15d
5671  DB  196,227,249,22,203,1                ; vpextrq       $0x1,%xmm1,%rbx
5672  DB  65,137,220                          ; mov           %ebx,%r12d
5673  DB  72,193,235,32                       ; shr           $0x20,%rbx
5674  DB  72,193,237,32                       ; shr           $0x20,%rbp
5675  DB  196,129,122,16,12,184               ; vmovss        (%r8,%r15,4),%xmm1
5676  DB  196,195,113,33,12,168,16            ; vinsertps     $0x10,(%r8,%rbp,4),%xmm1,%xmm1
5677  DB  196,129,122,16,20,160               ; vmovss        (%r8,%r12,4),%xmm2
5678  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
5679  DB  196,193,122,16,20,152               ; vmovss        (%r8,%rbx,4),%xmm2
5680  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
5681  DB  196,129,122,16,20,152               ; vmovss        (%r8,%r11,4),%xmm2
5682  DB  196,131,105,33,20,136,16            ; vinsertps     $0x10,(%r8,%r9,4),%xmm2,%xmm2
5683  DB  196,129,122,16,28,176               ; vmovss        (%r8,%r14,4),%xmm3
5684  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
5685  DB  196,129,122,16,28,144               ; vmovss        (%r8,%r10,4),%xmm3
5686  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
5687  DB  196,227,109,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
5688  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
5689  DB  196,193,105,114,208,16              ; vpsrld        $0x10,%xmm8,%xmm2
5690  DB  196,193,97,114,210,16               ; vpsrld        $0x10,%xmm10,%xmm3
5691  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
5692  DB  196,193,108,84,209                  ; vandps        %ymm9,%ymm2,%ymm2
5693  DB  196,193,249,126,208                 ; vmovq         %xmm2,%r8
5694  DB  69,137,194                          ; mov           %r8d,%r10d
5695  DB  196,195,249,22,209,1                ; vpextrq       $0x1,%xmm2,%r9
5696  DB  69,137,203                          ; mov           %r9d,%r11d
5697  DB  73,193,233,32                       ; shr           $0x20,%r9
5698  DB  73,193,232,32                       ; shr           $0x20,%r8
5699  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
5700  DB  196,225,249,126,213                 ; vmovq         %xmm2,%rbp
5701  DB  65,137,238                          ; mov           %ebp,%r14d
5702  DB  196,227,249,22,211,1                ; vpextrq       $0x1,%xmm2,%rbx
5703  DB  65,137,223                          ; mov           %ebx,%r15d
5704  DB  72,193,235,32                       ; shr           $0x20,%rbx
5705  DB  72,193,237,32                       ; shr           $0x20,%rbp
5706  DB  196,161,122,16,20,176               ; vmovss        (%rax,%r14,4),%xmm2
5707  DB  196,227,105,33,20,168,16            ; vinsertps     $0x10,(%rax,%rbp,4),%xmm2,%xmm2
5708  DB  196,161,122,16,28,184               ; vmovss        (%rax,%r15,4),%xmm3
5709  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
5710  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
5711  DB  196,99,105,33,203,48                ; vinsertps     $0x30,%xmm3,%xmm2,%xmm9
5712  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
5713  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
5714  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
5715  DB  196,227,97,33,210,32                ; vinsertps     $0x20,%xmm2,%xmm3,%xmm2
5716  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
5717  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
5718  DB  196,195,109,24,209,1                ; vinsertf128   $0x1,%xmm9,%ymm2,%ymm2
5719  DB  196,193,57,114,208,24               ; vpsrld        $0x18,%xmm8,%xmm8
5720  DB  196,193,97,114,210,24               ; vpsrld        $0x18,%xmm10,%xmm3
5721  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
5722  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
5723  DB  196,98,125,24,5,131,64,0,0          ; vbroadcastss  0x4083(%rip),%ymm8        # 55e8 <_sk_callback_avx+0x1fd>
5724  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
5725  DB  72,173                              ; lods          %ds:(%rsi),%rax
5726  DB  91                                  ; pop           %rbx
5727  DB  65,92                               ; pop           %r12
5728  DB  65,93                               ; pop           %r13
5729  DB  65,94                               ; pop           %r14
5730  DB  65,95                               ; pop           %r15
5731  DB  93                                  ; pop           %rbp
5732  DB  255,224                             ; jmpq          *%rax
5733  DB  65,137,201                          ; mov           %ecx,%r9d
5734  DB  65,128,225,7                        ; and           $0x7,%r9b
5735  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
5736  DB  65,254,201                          ; dec           %r9b
5737  DB  65,128,249,6                        ; cmp           $0x6,%r9b
5738  DB  15,135,211,253,255,255              ; ja            1364 <_sk_load_tables_avx+0x14>
5739  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
5740  DB  76,141,21,140,0,0,0                 ; lea           0x8c(%rip),%r10        # 1628 <_sk_load_tables_avx+0x2d8>
5741  DB  79,99,12,138                        ; movslq        (%r10,%r9,4),%r9
5742  DB  77,1,209                            ; add           %r10,%r9
5743  DB  65,255,225                          ; jmpq          *%r9
5744  DB  196,193,121,110,68,184,24           ; vmovd         0x18(%r8,%rdi,4),%xmm0
5745  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
5746  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
5747  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
5748  DB  196,99,117,12,192,64                ; vblendps      $0x40,%ymm0,%ymm1,%ymm8
5749  DB  196,99,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm0
5750  DB  196,195,121,34,68,184,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdi,4),%xmm0,%xmm0
5751  DB  196,99,61,24,192,1                  ; vinsertf128   $0x1,%xmm0,%ymm8,%ymm8
5752  DB  196,99,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm0
5753  DB  196,195,121,34,68,184,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdi,4),%xmm0,%xmm0
5754  DB  196,99,61,24,192,1                  ; vinsertf128   $0x1,%xmm0,%ymm8,%ymm8
5755  DB  196,195,57,34,68,184,12,3           ; vpinsrd       $0x3,0xc(%r8,%rdi,4),%xmm8,%xmm0
5756  DB  196,99,61,12,192,15                 ; vblendps      $0xf,%ymm0,%ymm8,%ymm8
5757  DB  196,195,57,34,68,184,8,2            ; vpinsrd       $0x2,0x8(%r8,%rdi,4),%xmm8,%xmm0
5758  DB  196,99,61,12,192,15                 ; vblendps      $0xf,%ymm0,%ymm8,%ymm8
5759  DB  196,195,57,34,68,184,4,1            ; vpinsrd       $0x1,0x4(%r8,%rdi,4),%xmm8,%xmm0
5760  DB  196,99,61,12,192,15                 ; vblendps      $0xf,%ymm0,%ymm8,%ymm8
5761  DB  196,195,57,34,4,184,0               ; vpinsrd       $0x0,(%r8,%rdi,4),%xmm8,%xmm0
5762  DB  196,99,61,12,192,15                 ; vblendps      $0xf,%ymm0,%ymm8,%ymm8
5763  DB  233,62,253,255,255                  ; jmpq          1364 <_sk_load_tables_avx+0x14>
5764  DB  102,144                             ; xchg          %ax,%ax
5765  DB  236                                 ; in            (%dx),%al
5766  DB  255                                 ; (bad)
5767  DB  255                                 ; (bad)
5768  DB  255                                 ; (bad)
5769  DB  222,255                             ; fdivrp        %st,%st(7)
5770  DB  255                                 ; (bad)
5771  DB  255,208                             ; callq         *%rax
5772  DB  255                                 ; (bad)
5773  DB  255                                 ; (bad)
5774  DB  255,194                             ; inc           %edx
5775  DB  255                                 ; (bad)
5776  DB  255                                 ; (bad)
5777  DB  255,174,255,255,255,154             ; ljmp          *-0x65000001(%rsi)
5778  DB  255                                 ; (bad)
5779  DB  255                                 ; (bad)
5780  DB  255                                 ; (bad)
5781  DB  126,255                             ; jle           1641 <_sk_load_tables_avx+0x2f1>
5782  DB  255                                 ; (bad)
5783  DB  255                                 ; .byte         0xff
5784
5785PUBLIC _sk_load_tables_u16_be_avx
5786_sk_load_tables_u16_be_avx LABEL PROC
5787  DB  72,173                              ; lods          %ds:(%rsi),%rax
5788  DB  76,139,0                            ; mov           (%rax),%r8
5789  DB  76,141,12,189,0,0,0,0               ; lea           0x0(,%rdi,4),%r9
5790  DB  72,133,201                          ; test          %rcx,%rcx
5791  DB  15,133,113,2,0,0                    ; jne           18cb <_sk_load_tables_u16_be_avx+0x287>
5792  DB  196,1,121,16,4,72                   ; vmovupd       (%r8,%r9,2),%xmm8
5793  DB  196,129,121,16,84,72,16             ; vmovupd       0x10(%r8,%r9,2),%xmm2
5794  DB  196,129,121,16,92,72,32             ; vmovupd       0x20(%r8,%r9,2),%xmm3
5795  DB  196,1,122,111,76,72,48              ; vmovdqu       0x30(%r8,%r9,2),%xmm9
5796  DB  85                                  ; push          %rbp
5797  DB  65,87                               ; push          %r15
5798  DB  65,86                               ; push          %r14
5799  DB  65,85                               ; push          %r13
5800  DB  65,84                               ; push          %r12
5801  DB  83                                  ; push          %rbx
5802  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
5803  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
5804  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
5805  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
5806  DB  197,121,97,202                      ; vpunpcklwd    %xmm2,%xmm0,%xmm9
5807  DB  197,121,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm8
5808  DB  197,241,97,195                      ; vpunpcklwd    %xmm3,%xmm1,%xmm0
5809  DB  197,113,105,227                     ; vpunpckhwd    %xmm3,%xmm1,%xmm12
5810  DB  197,177,108,208                     ; vpunpcklqdq   %xmm0,%xmm9,%xmm2
5811  DB  197,177,109,200                     ; vpunpckhqdq   %xmm0,%xmm9,%xmm1
5812  DB  196,65,57,108,212                   ; vpunpcklqdq   %xmm12,%xmm8,%xmm10
5813  DB  197,121,111,29,138,66,0,0           ; vmovdqa       0x428a(%rip),%xmm11        # 5940 <_sk_callback_avx+0x555>
5814  DB  196,193,105,219,195                 ; vpand         %xmm11,%xmm2,%xmm0
5815  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
5816  DB  196,193,121,105,209                 ; vpunpckhwd    %xmm9,%xmm0,%xmm2
5817  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
5818  DB  69,137,193                          ; mov           %r8d,%r9d
5819  DB  77,137,194                          ; mov           %r8,%r10
5820  DB  73,193,234,32                       ; shr           $0x20,%r10
5821  DB  196,193,249,126,208                 ; vmovq         %xmm2,%r8
5822  DB  69,137,195                          ; mov           %r8d,%r11d
5823  DB  77,137,198                          ; mov           %r8,%r14
5824  DB  73,193,238,32                       ; shr           $0x20,%r14
5825  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
5826  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
5827  DB  65,137,223                          ; mov           %ebx,%r15d
5828  DB  72,193,235,30                       ; shr           $0x1e,%rbx
5829  DB  196,195,249,22,196,1                ; vpextrq       $0x1,%xmm0,%r12
5830  DB  69,137,229                          ; mov           %r12d,%r13d
5831  DB  73,193,236,30                       ; shr           $0x1e,%r12
5832  DB  72,139,104,8                        ; mov           0x8(%rax),%rbp
5833  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
5834  DB  196,161,122,16,68,157,0             ; vmovss        0x0(%rbp,%r11,4),%xmm0
5835  DB  196,163,121,33,68,181,0,16          ; vinsertps     $0x10,0x0(%rbp,%r14,4),%xmm0,%xmm0
5836  DB  196,161,122,16,84,141,0             ; vmovss        0x0(%rbp,%r9,4),%xmm2
5837  DB  196,227,121,33,194,32               ; vinsertps     $0x20,%xmm2,%xmm0,%xmm0
5838  DB  196,161,122,16,84,149,0             ; vmovss        0x0(%rbp,%r10,4),%xmm2
5839  DB  196,227,121,33,194,48               ; vinsertps     $0x30,%xmm2,%xmm0,%xmm0
5840  DB  196,161,122,16,84,189,0             ; vmovss        0x0(%rbp,%r15,4),%xmm2
5841  DB  196,227,105,33,84,29,0,16           ; vinsertps     $0x10,0x0(%rbp,%rbx,1),%xmm2,%xmm2
5842  DB  196,161,122,16,92,173,0             ; vmovss        0x0(%rbp,%r13,4),%xmm3
5843  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
5844  DB  196,161,122,16,92,37,0              ; vmovss        0x0(%rbp,%r12,1),%xmm3
5845  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
5846  DB  196,227,109,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
5847  DB  196,193,113,219,203                 ; vpand         %xmm11,%xmm1,%xmm1
5848  DB  196,193,113,105,209                 ; vpunpckhwd    %xmm9,%xmm1,%xmm2
5849  DB  196,227,249,22,213,1                ; vpextrq       $0x1,%xmm2,%rbp
5850  DB  65,137,233                          ; mov           %ebp,%r9d
5851  DB  72,193,237,32                       ; shr           $0x20,%rbp
5852  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
5853  DB  65,137,218                          ; mov           %ebx,%r10d
5854  DB  72,193,235,32                       ; shr           $0x20,%rbx
5855  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
5856  DB  196,193,249,126,203                 ; vmovq         %xmm1,%r11
5857  DB  69,137,222                          ; mov           %r11d,%r14d
5858  DB  73,193,235,30                       ; shr           $0x1e,%r11
5859  DB  196,195,249,22,207,1                ; vpextrq       $0x1,%xmm1,%r15
5860  DB  69,137,252                          ; mov           %r15d,%r12d
5861  DB  73,193,239,30                       ; shr           $0x1e,%r15
5862  DB  196,129,122,16,12,144               ; vmovss        (%r8,%r10,4),%xmm1
5863  DB  196,195,113,33,12,152,16            ; vinsertps     $0x10,(%r8,%rbx,4),%xmm1,%xmm1
5864  DB  196,129,122,16,20,136               ; vmovss        (%r8,%r9,4),%xmm2
5865  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
5866  DB  196,193,122,16,20,168               ; vmovss        (%r8,%rbp,4),%xmm2
5867  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
5868  DB  196,129,122,16,20,176               ; vmovss        (%r8,%r14,4),%xmm2
5869  DB  196,131,105,33,20,24,16             ; vinsertps     $0x10,(%r8,%r11,1),%xmm2,%xmm2
5870  DB  196,129,122,16,28,160               ; vmovss        (%r8,%r12,4),%xmm3
5871  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
5872  DB  196,129,122,16,28,56                ; vmovss        (%r8,%r15,1),%xmm3
5873  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
5874  DB  196,227,109,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
5875  DB  76,139,80,24                        ; mov           0x18(%rax),%r10
5876  DB  196,193,41,219,211                  ; vpand         %xmm11,%xmm10,%xmm2
5877  DB  196,193,105,105,217                 ; vpunpckhwd    %xmm9,%xmm2,%xmm3
5878  DB  196,227,249,22,221,1                ; vpextrq       $0x1,%xmm3,%rbp
5879  DB  65,137,232                          ; mov           %ebp,%r8d
5880  DB  72,193,237,32                       ; shr           $0x20,%rbp
5881  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
5882  DB  65,137,217                          ; mov           %ebx,%r9d
5883  DB  72,193,235,32                       ; shr           $0x20,%rbx
5884  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
5885  DB  196,225,249,126,208                 ; vmovq         %xmm2,%rax
5886  DB  65,137,195                          ; mov           %eax,%r11d
5887  DB  72,193,232,30                       ; shr           $0x1e,%rax
5888  DB  196,195,249,22,214,1                ; vpextrq       $0x1,%xmm2,%r14
5889  DB  69,137,247                          ; mov           %r14d,%r15d
5890  DB  73,193,238,30                       ; shr           $0x1e,%r14
5891  DB  196,129,122,16,20,138               ; vmovss        (%r10,%r9,4),%xmm2
5892  DB  196,195,105,33,20,154,16            ; vinsertps     $0x10,(%r10,%rbx,4),%xmm2,%xmm2
5893  DB  196,129,122,16,28,130               ; vmovss        (%r10,%r8,4),%xmm3
5894  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
5895  DB  196,193,122,16,28,170               ; vmovss        (%r10,%rbp,4),%xmm3
5896  DB  196,99,105,33,211,48                ; vinsertps     $0x30,%xmm3,%xmm2,%xmm10
5897  DB  196,129,122,16,28,154               ; vmovss        (%r10,%r11,4),%xmm3
5898  DB  196,195,97,33,28,2,16               ; vinsertps     $0x10,(%r10,%rax,1),%xmm3,%xmm3
5899  DB  196,129,122,16,20,186               ; vmovss        (%r10,%r15,4),%xmm2
5900  DB  196,227,97,33,210,32                ; vinsertps     $0x20,%xmm2,%xmm3,%xmm2
5901  DB  196,129,122,16,28,50                ; vmovss        (%r10,%r14,1),%xmm3
5902  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
5903  DB  196,195,109,24,210,1                ; vinsertf128   $0x1,%xmm10,%ymm2,%ymm2
5904  DB  196,193,57,109,220                  ; vpunpckhqdq   %xmm12,%xmm8,%xmm3
5905  DB  197,185,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm8
5906  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
5907  DB  197,185,235,219                     ; vpor          %xmm3,%xmm8,%xmm3
5908  DB  196,65,97,105,193                   ; vpunpckhwd    %xmm9,%xmm3,%xmm8
5909  DB  196,226,121,51,219                  ; vpmovzxwd     %xmm3,%xmm3
5910  DB  196,195,101,24,216,1                ; vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
5911  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
5912  DB  196,98,125,24,5,52,61,0,0           ; vbroadcastss  0x3d34(%rip),%ymm8        # 55ec <_sk_callback_avx+0x201>
5913  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
5914  DB  72,173                              ; lods          %ds:(%rsi),%rax
5915  DB  91                                  ; pop           %rbx
5916  DB  65,92                               ; pop           %r12
5917  DB  65,93                               ; pop           %r13
5918  DB  65,94                               ; pop           %r14
5919  DB  65,95                               ; pop           %r15
5920  DB  93                                  ; pop           %rbp
5921  DB  255,224                             ; jmpq          *%rax
5922  DB  196,1,123,16,4,72                   ; vmovsd        (%r8,%r9,2),%xmm8
5923  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
5924  DB  72,131,249,1                        ; cmp           $0x1,%rcx
5925  DB  116,85                              ; je            1931 <_sk_load_tables_u16_be_avx+0x2ed>
5926  DB  196,1,57,22,68,72,8                 ; vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
5927  DB  72,131,249,3                        ; cmp           $0x3,%rcx
5928  DB  114,72                              ; jb            1931 <_sk_load_tables_u16_be_avx+0x2ed>
5929  DB  196,129,123,16,84,72,16             ; vmovsd        0x10(%r8,%r9,2),%xmm2
5930  DB  72,131,249,3                        ; cmp           $0x3,%rcx
5931  DB  116,72                              ; je            193e <_sk_load_tables_u16_be_avx+0x2fa>
5932  DB  196,129,105,22,84,72,24             ; vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
5933  DB  72,131,249,5                        ; cmp           $0x5,%rcx
5934  DB  114,59                              ; jb            193e <_sk_load_tables_u16_be_avx+0x2fa>
5935  DB  196,129,123,16,92,72,32             ; vmovsd        0x20(%r8,%r9,2),%xmm3
5936  DB  72,131,249,5                        ; cmp           $0x5,%rcx
5937  DB  15,132,97,253,255,255               ; je            1675 <_sk_load_tables_u16_be_avx+0x31>
5938  DB  196,129,97,22,92,72,40              ; vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
5939  DB  72,131,249,7                        ; cmp           $0x7,%rcx
5940  DB  15,130,80,253,255,255               ; jb            1675 <_sk_load_tables_u16_be_avx+0x31>
5941  DB  196,1,122,126,76,72,48              ; vmovq         0x30(%r8,%r9,2),%xmm9
5942  DB  233,68,253,255,255                  ; jmpq          1675 <_sk_load_tables_u16_be_avx+0x31>
5943  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
5944  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
5945  DB  233,55,253,255,255                  ; jmpq          1675 <_sk_load_tables_u16_be_avx+0x31>
5946  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
5947  DB  233,46,253,255,255                  ; jmpq          1675 <_sk_load_tables_u16_be_avx+0x31>
5948
5949PUBLIC _sk_load_tables_rgb_u16_be_avx
5950_sk_load_tables_rgb_u16_be_avx LABEL PROC
5951  DB  72,173                              ; lods          %ds:(%rsi),%rax
5952  DB  76,139,0                            ; mov           (%rax),%r8
5953  DB  76,141,12,127                       ; lea           (%rdi,%rdi,2),%r9
5954  DB  72,133,201                          ; test          %rcx,%rcx
5955  DB  15,133,93,2,0,0                     ; jne           1bb6 <_sk_load_tables_rgb_u16_be_avx+0x26f>
5956  DB  196,129,122,111,4,72                ; vmovdqu       (%r8,%r9,2),%xmm0
5957  DB  196,129,122,111,84,72,12            ; vmovdqu       0xc(%r8,%r9,2),%xmm2
5958  DB  196,129,122,111,76,72,24            ; vmovdqu       0x18(%r8,%r9,2),%xmm1
5959  DB  196,129,122,111,92,72,32            ; vmovdqu       0x20(%r8,%r9,2),%xmm3
5960  DB  197,225,115,219,4                   ; vpsrldq       $0x4,%xmm3,%xmm3
5961  DB  197,185,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm8
5962  DB  197,177,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm9
5963  DB  197,161,115,217,6                   ; vpsrldq       $0x6,%xmm1,%xmm11
5964  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
5965  DB  85                                  ; push          %rbp
5966  DB  65,87                               ; push          %r15
5967  DB  65,86                               ; push          %r14
5968  DB  65,85                               ; push          %r13
5969  DB  65,84                               ; push          %r12
5970  DB  83                                  ; push          %rbx
5971  DB  197,249,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm0
5972  DB  196,193,57,97,209                   ; vpunpcklwd    %xmm9,%xmm8,%xmm2
5973  DB  197,241,97,203                      ; vpunpcklwd    %xmm3,%xmm1,%xmm1
5974  DB  196,193,33,97,218                   ; vpunpcklwd    %xmm10,%xmm11,%xmm3
5975  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
5976  DB  197,249,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm0
5977  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
5978  DB  197,241,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm3
5979  DB  197,185,108,202                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm1
5980  DB  197,185,109,210                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm2
5981  DB  197,121,108,195                     ; vpunpcklqdq   %xmm3,%xmm0,%xmm8
5982  DB  197,121,111,13,131,63,0,0           ; vmovdqa       0x3f83(%rip),%xmm9        # 5950 <_sk_callback_avx+0x565>
5983  DB  196,193,113,219,193                 ; vpand         %xmm9,%xmm1,%xmm0
5984  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
5985  DB  196,193,121,105,202                 ; vpunpckhwd    %xmm10,%xmm0,%xmm1
5986  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
5987  DB  69,137,193                          ; mov           %r8d,%r9d
5988  DB  77,137,194                          ; mov           %r8,%r10
5989  DB  73,193,234,32                       ; shr           $0x20,%r10
5990  DB  196,193,249,126,200                 ; vmovq         %xmm1,%r8
5991  DB  69,137,195                          ; mov           %r8d,%r11d
5992  DB  77,137,198                          ; mov           %r8,%r14
5993  DB  73,193,238,32                       ; shr           $0x20,%r14
5994  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
5995  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
5996  DB  65,137,223                          ; mov           %ebx,%r15d
5997  DB  72,193,235,30                       ; shr           $0x1e,%rbx
5998  DB  196,195,249,22,196,1                ; vpextrq       $0x1,%xmm0,%r12
5999  DB  69,137,229                          ; mov           %r12d,%r13d
6000  DB  73,193,236,30                       ; shr           $0x1e,%r12
6001  DB  72,139,104,8                        ; mov           0x8(%rax),%rbp
6002  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
6003  DB  196,161,122,16,68,157,0             ; vmovss        0x0(%rbp,%r11,4),%xmm0
6004  DB  196,163,121,33,68,181,0,16          ; vinsertps     $0x10,0x0(%rbp,%r14,4),%xmm0,%xmm0
6005  DB  196,161,122,16,76,141,0             ; vmovss        0x0(%rbp,%r9,4),%xmm1
6006  DB  196,227,121,33,193,32               ; vinsertps     $0x20,%xmm1,%xmm0,%xmm0
6007  DB  196,161,122,16,76,149,0             ; vmovss        0x0(%rbp,%r10,4),%xmm1
6008  DB  196,227,121,33,193,48               ; vinsertps     $0x30,%xmm1,%xmm0,%xmm0
6009  DB  196,161,122,16,76,189,0             ; vmovss        0x0(%rbp,%r15,4),%xmm1
6010  DB  196,227,113,33,76,29,0,16           ; vinsertps     $0x10,0x0(%rbp,%rbx,1),%xmm1,%xmm1
6011  DB  196,161,122,16,92,173,0             ; vmovss        0x0(%rbp,%r13,4),%xmm3
6012  DB  196,227,113,33,203,32               ; vinsertps     $0x20,%xmm3,%xmm1,%xmm1
6013  DB  196,161,122,16,92,37,0              ; vmovss        0x0(%rbp,%r12,1),%xmm3
6014  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
6015  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
6016  DB  196,193,105,219,201                 ; vpand         %xmm9,%xmm2,%xmm1
6017  DB  196,193,113,105,210                 ; vpunpckhwd    %xmm10,%xmm1,%xmm2
6018  DB  196,227,249,22,213,1                ; vpextrq       $0x1,%xmm2,%rbp
6019  DB  65,137,233                          ; mov           %ebp,%r9d
6020  DB  72,193,237,32                       ; shr           $0x20,%rbp
6021  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
6022  DB  65,137,218                          ; mov           %ebx,%r10d
6023  DB  72,193,235,32                       ; shr           $0x20,%rbx
6024  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
6025  DB  196,193,249,126,203                 ; vmovq         %xmm1,%r11
6026  DB  69,137,222                          ; mov           %r11d,%r14d
6027  DB  73,193,235,30                       ; shr           $0x1e,%r11
6028  DB  196,195,249,22,207,1                ; vpextrq       $0x1,%xmm1,%r15
6029  DB  69,137,252                          ; mov           %r15d,%r12d
6030  DB  73,193,239,30                       ; shr           $0x1e,%r15
6031  DB  196,129,122,16,12,144               ; vmovss        (%r8,%r10,4),%xmm1
6032  DB  196,195,113,33,12,152,16            ; vinsertps     $0x10,(%r8,%rbx,4),%xmm1,%xmm1
6033  DB  196,129,122,16,20,136               ; vmovss        (%r8,%r9,4),%xmm2
6034  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
6035  DB  196,193,122,16,20,168               ; vmovss        (%r8,%rbp,4),%xmm2
6036  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
6037  DB  196,129,122,16,20,176               ; vmovss        (%r8,%r14,4),%xmm2
6038  DB  196,131,105,33,20,24,16             ; vinsertps     $0x10,(%r8,%r11,1),%xmm2,%xmm2
6039  DB  196,129,122,16,28,160               ; vmovss        (%r8,%r12,4),%xmm3
6040  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
6041  DB  196,129,122,16,28,56                ; vmovss        (%r8,%r15,1),%xmm3
6042  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
6043  DB  196,227,109,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
6044  DB  76,139,80,24                        ; mov           0x18(%rax),%r10
6045  DB  196,193,57,219,209                  ; vpand         %xmm9,%xmm8,%xmm2
6046  DB  196,193,105,105,218                 ; vpunpckhwd    %xmm10,%xmm2,%xmm3
6047  DB  196,227,249,22,221,1                ; vpextrq       $0x1,%xmm3,%rbp
6048  DB  65,137,232                          ; mov           %ebp,%r8d
6049  DB  72,193,237,32                       ; shr           $0x20,%rbp
6050  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
6051  DB  65,137,217                          ; mov           %ebx,%r9d
6052  DB  72,193,235,32                       ; shr           $0x20,%rbx
6053  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
6054  DB  196,225,249,126,208                 ; vmovq         %xmm2,%rax
6055  DB  65,137,195                          ; mov           %eax,%r11d
6056  DB  72,193,232,30                       ; shr           $0x1e,%rax
6057  DB  196,195,249,22,214,1                ; vpextrq       $0x1,%xmm2,%r14
6058  DB  69,137,247                          ; mov           %r14d,%r15d
6059  DB  73,193,238,30                       ; shr           $0x1e,%r14
6060  DB  196,129,122,16,20,138               ; vmovss        (%r10,%r9,4),%xmm2
6061  DB  196,195,105,33,20,154,16            ; vinsertps     $0x10,(%r10,%rbx,4),%xmm2,%xmm2
6062  DB  196,129,122,16,28,130               ; vmovss        (%r10,%r8,4),%xmm3
6063  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
6064  DB  196,193,122,16,28,170               ; vmovss        (%r10,%rbp,4),%xmm3
6065  DB  196,99,105,33,195,48                ; vinsertps     $0x30,%xmm3,%xmm2,%xmm8
6066  DB  196,129,122,16,28,154               ; vmovss        (%r10,%r11,4),%xmm3
6067  DB  196,195,97,33,28,2,16               ; vinsertps     $0x10,(%r10,%rax,1),%xmm3,%xmm3
6068  DB  196,129,122,16,20,186               ; vmovss        (%r10,%r15,4),%xmm2
6069  DB  196,227,97,33,210,32                ; vinsertps     $0x20,%xmm2,%xmm3,%xmm2
6070  DB  196,129,122,16,28,50                ; vmovss        (%r10,%r14,1),%xmm3
6071  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
6072  DB  196,195,109,24,208,1                ; vinsertf128   $0x1,%xmm8,%ymm2,%ymm2
6073  DB  72,173                              ; lods          %ds:(%rsi),%rax
6074  DB  196,226,125,24,29,70,58,0,0         ; vbroadcastss  0x3a46(%rip),%ymm3        # 55f0 <_sk_callback_avx+0x205>
6075  DB  91                                  ; pop           %rbx
6076  DB  65,92                               ; pop           %r12
6077  DB  65,93                               ; pop           %r13
6078  DB  65,94                               ; pop           %r14
6079  DB  65,95                               ; pop           %r15
6080  DB  93                                  ; pop           %rbp
6081  DB  255,224                             ; jmpq          *%rax
6082  DB  196,129,121,110,4,72                ; vmovd         (%r8,%r9,2),%xmm0
6083  DB  196,129,121,196,68,72,4,2           ; vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm0
6084  DB  72,131,249,1                        ; cmp           $0x1,%rcx
6085  DB  117,5                               ; jne           1bcf <_sk_load_tables_rgb_u16_be_avx+0x288>
6086  DB  233,190,253,255,255                 ; jmpq          198d <_sk_load_tables_rgb_u16_be_avx+0x46>
6087  DB  196,129,121,110,76,72,6             ; vmovd         0x6(%r8,%r9,2),%xmm1
6088  DB  196,1,113,196,68,72,10,2            ; vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm1,%xmm8
6089  DB  72,131,249,3                        ; cmp           $0x3,%rcx
6090  DB  114,26                              ; jb            1bfe <_sk_load_tables_rgb_u16_be_avx+0x2b7>
6091  DB  196,129,121,110,76,72,12            ; vmovd         0xc(%r8,%r9,2),%xmm1
6092  DB  196,129,113,196,84,72,16,2          ; vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm1,%xmm2
6093  DB  72,131,249,3                        ; cmp           $0x3,%rcx
6094  DB  117,10                              ; jne           1c03 <_sk_load_tables_rgb_u16_be_avx+0x2bc>
6095  DB  233,143,253,255,255                 ; jmpq          198d <_sk_load_tables_rgb_u16_be_avx+0x46>
6096  DB  233,138,253,255,255                 ; jmpq          198d <_sk_load_tables_rgb_u16_be_avx+0x46>
6097  DB  196,129,121,110,76,72,18            ; vmovd         0x12(%r8,%r9,2),%xmm1
6098  DB  196,1,113,196,76,72,22,2            ; vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm1,%xmm9
6099  DB  72,131,249,5                        ; cmp           $0x5,%rcx
6100  DB  114,26                              ; jb            1c32 <_sk_load_tables_rgb_u16_be_avx+0x2eb>
6101  DB  196,129,121,110,76,72,24            ; vmovd         0x18(%r8,%r9,2),%xmm1
6102  DB  196,129,113,196,76,72,28,2          ; vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm1,%xmm1
6103  DB  72,131,249,5                        ; cmp           $0x5,%rcx
6104  DB  117,10                              ; jne           1c37 <_sk_load_tables_rgb_u16_be_avx+0x2f0>
6105  DB  233,91,253,255,255                  ; jmpq          198d <_sk_load_tables_rgb_u16_be_avx+0x46>
6106  DB  233,86,253,255,255                  ; jmpq          198d <_sk_load_tables_rgb_u16_be_avx+0x46>
6107  DB  196,129,121,110,92,72,30            ; vmovd         0x1e(%r8,%r9,2),%xmm3
6108  DB  196,1,97,196,92,72,34,2             ; vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm3,%xmm11
6109  DB  72,131,249,7                        ; cmp           $0x7,%rcx
6110  DB  114,20                              ; jb            1c60 <_sk_load_tables_rgb_u16_be_avx+0x319>
6111  DB  196,129,121,110,92,72,36            ; vmovd         0x24(%r8,%r9,2),%xmm3
6112  DB  196,129,97,196,92,72,40,2           ; vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm3,%xmm3
6113  DB  233,45,253,255,255                  ; jmpq          198d <_sk_load_tables_rgb_u16_be_avx+0x46>
6114  DB  233,40,253,255,255                  ; jmpq          198d <_sk_load_tables_rgb_u16_be_avx+0x46>
6115
6116PUBLIC _sk_byte_tables_avx
6117_sk_byte_tables_avx LABEL PROC
6118  DB  85                                  ; push          %rbp
6119  DB  65,87                               ; push          %r15
6120  DB  65,86                               ; push          %r14
6121  DB  65,85                               ; push          %r13
6122  DB  65,84                               ; push          %r12
6123  DB  83                                  ; push          %rbx
6124  DB  72,173                              ; lods          %ds:(%rsi),%rax
6125  DB  196,98,125,24,5,122,57,0,0          ; vbroadcastss  0x397a(%rip),%ymm8        # 55f4 <_sk_callback_avx+0x209>
6126  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
6127  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
6128  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
6129  DB  68,137,197                          ; mov           %r8d,%ebp
6130  DB  77,137,194                          ; mov           %r8,%r10
6131  DB  73,193,234,32                       ; shr           $0x20,%r10
6132  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
6133  DB  69,137,195                          ; mov           %r8d,%r11d
6134  DB  77,137,199                          ; mov           %r8,%r15
6135  DB  73,193,239,32                       ; shr           $0x20,%r15
6136  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
6137  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
6138  DB  69,137,198                          ; mov           %r8d,%r14d
6139  DB  77,137,196                          ; mov           %r8,%r12
6140  DB  73,193,236,32                       ; shr           $0x20,%r12
6141  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
6142  DB  65,137,221                          ; mov           %ebx,%r13d
6143  DB  72,193,235,32                       ; shr           $0x20,%rbx
6144  DB  76,139,8                            ; mov           (%rax),%r9
6145  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
6146  DB  196,131,121,32,4,25,0               ; vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
6147  DB  196,131,121,32,4,57,1               ; vpinsrb       $0x1,(%r9,%r15,1),%xmm0,%xmm0
6148  DB  65,15,182,44,41                     ; movzbl        (%r9,%rbp,1),%ebp
6149  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
6150  DB  67,15,182,44,17                     ; movzbl        (%r9,%r10,1),%ebp
6151  DB  196,227,121,32,197,3                ; vpinsrb       $0x3,%ebp,%xmm0,%xmm0
6152  DB  196,98,121,49,200                   ; vpmovzxbd     %xmm0,%xmm9
6153  DB  196,131,121,32,4,41,0               ; vpinsrb       $0x0,(%r9,%r13,1),%xmm0,%xmm0
6154  DB  196,195,121,32,4,25,1               ; vpinsrb       $0x1,(%r9,%rbx,1),%xmm0,%xmm0
6155  DB  67,15,182,44,49                     ; movzbl        (%r9,%r14,1),%ebp
6156  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
6157  DB  67,15,182,44,33                     ; movzbl        (%r9,%r12,1),%ebp
6158  DB  196,227,121,32,197,3                ; vpinsrb       $0x3,%ebp,%xmm0,%xmm0
6159  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
6160  DB  196,227,53,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm0
6161  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
6162  DB  196,98,125,24,13,200,56,0,0         ; vbroadcastss  0x38c8(%rip),%ymm9        # 55f8 <_sk_callback_avx+0x20d>
6163  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
6164  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
6165  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
6166  DB  196,227,249,22,205,1                ; vpextrq       $0x1,%xmm1,%rbp
6167  DB  65,137,233                          ; mov           %ebp,%r9d
6168  DB  72,193,237,32                       ; shr           $0x20,%rbp
6169  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
6170  DB  65,137,218                          ; mov           %ebx,%r10d
6171  DB  72,193,235,32                       ; shr           $0x20,%rbx
6172  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
6173  DB  196,195,249,22,203,1                ; vpextrq       $0x1,%xmm1,%r11
6174  DB  69,137,222                          ; mov           %r11d,%r14d
6175  DB  73,193,235,32                       ; shr           $0x20,%r11
6176  DB  196,193,249,126,207                 ; vmovq         %xmm1,%r15
6177  DB  69,137,252                          ; mov           %r15d,%r12d
6178  DB  73,193,239,32                       ; shr           $0x20,%r15
6179  DB  196,131,121,32,12,16,0              ; vpinsrb       $0x0,(%r8,%r10,1),%xmm0,%xmm1
6180  DB  196,195,113,32,12,24,1              ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm1,%xmm1
6181  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
6182  DB  196,227,113,32,203,2                ; vpinsrb       $0x2,%ebx,%xmm1,%xmm1
6183  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
6184  DB  196,227,113,32,205,3                ; vpinsrb       $0x3,%ebp,%xmm1,%xmm1
6185  DB  196,98,121,49,209                   ; vpmovzxbd     %xmm1,%xmm10
6186  DB  196,131,121,32,12,32,0              ; vpinsrb       $0x0,(%r8,%r12,1),%xmm0,%xmm1
6187  DB  196,131,113,32,12,56,1              ; vpinsrb       $0x1,(%r8,%r15,1),%xmm1,%xmm1
6188  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
6189  DB  196,227,113,32,205,2                ; vpinsrb       $0x2,%ebp,%xmm1,%xmm1
6190  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
6191  DB  196,227,113,32,205,3                ; vpinsrb       $0x3,%ebp,%xmm1,%xmm1
6192  DB  196,226,121,49,201                  ; vpmovzxbd     %xmm1,%xmm1
6193  DB  196,227,45,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm10,%ymm1
6194  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
6195  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
6196  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
6197  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
6198  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
6199  DB  196,227,249,22,213,1                ; vpextrq       $0x1,%xmm2,%rbp
6200  DB  65,137,233                          ; mov           %ebp,%r9d
6201  DB  72,193,237,32                       ; shr           $0x20,%rbp
6202  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
6203  DB  65,137,218                          ; mov           %ebx,%r10d
6204  DB  72,193,235,32                       ; shr           $0x20,%rbx
6205  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
6206  DB  196,195,249,22,211,1                ; vpextrq       $0x1,%xmm2,%r11
6207  DB  69,137,222                          ; mov           %r11d,%r14d
6208  DB  73,193,235,32                       ; shr           $0x20,%r11
6209  DB  196,193,249,126,215                 ; vmovq         %xmm2,%r15
6210  DB  69,137,252                          ; mov           %r15d,%r12d
6211  DB  73,193,239,32                       ; shr           $0x20,%r15
6212  DB  196,131,121,32,20,16,0              ; vpinsrb       $0x0,(%r8,%r10,1),%xmm0,%xmm2
6213  DB  196,195,105,32,20,24,1              ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm2,%xmm2
6214  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
6215  DB  196,227,105,32,211,2                ; vpinsrb       $0x2,%ebx,%xmm2,%xmm2
6216  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
6217  DB  196,227,105,32,213,3                ; vpinsrb       $0x3,%ebp,%xmm2,%xmm2
6218  DB  196,98,121,49,210                   ; vpmovzxbd     %xmm2,%xmm10
6219  DB  196,131,121,32,20,32,0              ; vpinsrb       $0x0,(%r8,%r12,1),%xmm0,%xmm2
6220  DB  196,131,105,32,20,56,1              ; vpinsrb       $0x1,(%r8,%r15,1),%xmm2,%xmm2
6221  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
6222  DB  196,227,105,32,213,2                ; vpinsrb       $0x2,%ebp,%xmm2,%xmm2
6223  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
6224  DB  196,227,105,32,213,3                ; vpinsrb       $0x3,%ebp,%xmm2,%xmm2
6225  DB  196,226,121,49,210                  ; vpmovzxbd     %xmm2,%xmm2
6226  DB  196,227,45,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm10,%ymm2
6227  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
6228  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
6229  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
6230  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
6231  DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
6232  DB  196,227,249,22,221,1                ; vpextrq       $0x1,%xmm3,%rbp
6233  DB  65,137,232                          ; mov           %ebp,%r8d
6234  DB  72,193,237,32                       ; shr           $0x20,%rbp
6235  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
6236  DB  65,137,217                          ; mov           %ebx,%r9d
6237  DB  72,193,235,32                       ; shr           $0x20,%rbx
6238  DB  196,227,125,25,219,1                ; vextractf128  $0x1,%ymm3,%xmm3
6239  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
6240  DB  69,137,211                          ; mov           %r10d,%r11d
6241  DB  73,193,234,32                       ; shr           $0x20,%r10
6242  DB  196,193,249,126,222                 ; vmovq         %xmm3,%r14
6243  DB  69,137,247                          ; mov           %r14d,%r15d
6244  DB  73,193,238,32                       ; shr           $0x20,%r14
6245  DB  196,163,121,32,28,8,0               ; vpinsrb       $0x0,(%rax,%r9,1),%xmm0,%xmm3
6246  DB  196,227,97,32,28,24,1               ; vpinsrb       $0x1,(%rax,%rbx,1),%xmm3,%xmm3
6247  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
6248  DB  196,227,97,32,219,2                 ; vpinsrb       $0x2,%ebx,%xmm3,%xmm3
6249  DB  15,182,44,40                        ; movzbl        (%rax,%rbp,1),%ebp
6250  DB  196,227,97,32,221,3                 ; vpinsrb       $0x3,%ebp,%xmm3,%xmm3
6251  DB  196,98,121,49,195                   ; vpmovzxbd     %xmm3,%xmm8
6252  DB  196,163,121,32,28,56,0              ; vpinsrb       $0x0,(%rax,%r15,1),%xmm0,%xmm3
6253  DB  196,163,97,32,28,48,1               ; vpinsrb       $0x1,(%rax,%r14,1),%xmm3,%xmm3
6254  DB  66,15,182,44,24                     ; movzbl        (%rax,%r11,1),%ebp
6255  DB  196,227,97,32,221,2                 ; vpinsrb       $0x2,%ebp,%xmm3,%xmm3
6256  DB  66,15,182,4,16                      ; movzbl        (%rax,%r10,1),%eax
6257  DB  196,227,97,32,216,3                 ; vpinsrb       $0x3,%eax,%xmm3,%xmm3
6258  DB  196,226,121,49,219                  ; vpmovzxbd     %xmm3,%xmm3
6259  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
6260  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
6261  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
6262  DB  72,173                              ; lods          %ds:(%rsi),%rax
6263  DB  91                                  ; pop           %rbx
6264  DB  65,92                               ; pop           %r12
6265  DB  65,93                               ; pop           %r13
6266  DB  65,94                               ; pop           %r14
6267  DB  65,95                               ; pop           %r15
6268  DB  93                                  ; pop           %rbp
6269  DB  255,224                             ; jmpq          *%rax
6270
6271PUBLIC _sk_byte_tables_rgb_avx
6272_sk_byte_tables_rgb_avx LABEL PROC
6273  DB  85                                  ; push          %rbp
6274  DB  65,87                               ; push          %r15
6275  DB  65,86                               ; push          %r14
6276  DB  65,85                               ; push          %r13
6277  DB  65,84                               ; push          %r12
6278  DB  83                                  ; push          %rbx
6279  DB  72,173                              ; lods          %ds:(%rsi),%rax
6280  DB  68,139,64,24                        ; mov           0x18(%rax),%r8d
6281  DB  65,255,200                          ; dec           %r8d
6282  DB  196,65,121,110,192                  ; vmovd         %r8d,%xmm8
6283  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
6284  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
6285  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
6286  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
6287  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
6288  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
6289  DB  68,137,197                          ; mov           %r8d,%ebp
6290  DB  77,137,194                          ; mov           %r8,%r10
6291  DB  73,193,234,32                       ; shr           $0x20,%r10
6292  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
6293  DB  69,137,195                          ; mov           %r8d,%r11d
6294  DB  77,137,199                          ; mov           %r8,%r15
6295  DB  73,193,239,32                       ; shr           $0x20,%r15
6296  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
6297  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
6298  DB  69,137,198                          ; mov           %r8d,%r14d
6299  DB  77,137,196                          ; mov           %r8,%r12
6300  DB  73,193,236,32                       ; shr           $0x20,%r12
6301  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
6302  DB  65,137,221                          ; mov           %ebx,%r13d
6303  DB  72,193,235,32                       ; shr           $0x20,%rbx
6304  DB  76,139,8                            ; mov           (%rax),%r9
6305  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
6306  DB  196,131,121,32,4,25,0               ; vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
6307  DB  196,131,121,32,4,57,1               ; vpinsrb       $0x1,(%r9,%r15,1),%xmm0,%xmm0
6308  DB  65,15,182,44,41                     ; movzbl        (%r9,%rbp,1),%ebp
6309  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
6310  DB  67,15,182,44,17                     ; movzbl        (%r9,%r10,1),%ebp
6311  DB  196,227,121,32,197,3                ; vpinsrb       $0x3,%ebp,%xmm0,%xmm0
6312  DB  196,98,121,49,200                   ; vpmovzxbd     %xmm0,%xmm9
6313  DB  196,131,121,32,4,41,0               ; vpinsrb       $0x0,(%r9,%r13,1),%xmm0,%xmm0
6314  DB  196,195,121,32,4,25,1               ; vpinsrb       $0x1,(%r9,%rbx,1),%xmm0,%xmm0
6315  DB  67,15,182,44,49                     ; movzbl        (%r9,%r14,1),%ebp
6316  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
6317  DB  67,15,182,44,33                     ; movzbl        (%r9,%r12,1),%ebp
6318  DB  196,227,121,32,197,3                ; vpinsrb       $0x3,%ebp,%xmm0,%xmm0
6319  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
6320  DB  196,227,53,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm0
6321  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
6322  DB  196,98,125,24,13,238,53,0,0         ; vbroadcastss  0x35ee(%rip),%ymm9        # 55fc <_sk_callback_avx+0x211>
6323  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
6324  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
6325  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
6326  DB  196,227,249,22,205,1                ; vpextrq       $0x1,%xmm1,%rbp
6327  DB  65,137,233                          ; mov           %ebp,%r9d
6328  DB  72,193,237,32                       ; shr           $0x20,%rbp
6329  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
6330  DB  65,137,218                          ; mov           %ebx,%r10d
6331  DB  72,193,235,32                       ; shr           $0x20,%rbx
6332  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
6333  DB  196,195,249,22,203,1                ; vpextrq       $0x1,%xmm1,%r11
6334  DB  69,137,222                          ; mov           %r11d,%r14d
6335  DB  73,193,235,32                       ; shr           $0x20,%r11
6336  DB  196,193,249,126,207                 ; vmovq         %xmm1,%r15
6337  DB  69,137,252                          ; mov           %r15d,%r12d
6338  DB  73,193,239,32                       ; shr           $0x20,%r15
6339  DB  196,131,121,32,12,16,0              ; vpinsrb       $0x0,(%r8,%r10,1),%xmm0,%xmm1
6340  DB  196,195,113,32,12,24,1              ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm1,%xmm1
6341  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
6342  DB  196,227,113,32,203,2                ; vpinsrb       $0x2,%ebx,%xmm1,%xmm1
6343  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
6344  DB  196,227,113,32,205,3                ; vpinsrb       $0x3,%ebp,%xmm1,%xmm1
6345  DB  196,98,121,49,209                   ; vpmovzxbd     %xmm1,%xmm10
6346  DB  196,131,121,32,12,32,0              ; vpinsrb       $0x0,(%r8,%r12,1),%xmm0,%xmm1
6347  DB  196,131,113,32,12,56,1              ; vpinsrb       $0x1,(%r8,%r15,1),%xmm1,%xmm1
6348  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
6349  DB  196,227,113,32,205,2                ; vpinsrb       $0x2,%ebp,%xmm1,%xmm1
6350  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
6351  DB  196,227,113,32,205,3                ; vpinsrb       $0x3,%ebp,%xmm1,%xmm1
6352  DB  196,226,121,49,201                  ; vpmovzxbd     %xmm1,%xmm1
6353  DB  196,227,45,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm10,%ymm1
6354  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
6355  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
6356  DB  72,139,64,16                        ; mov           0x10(%rax),%rax
6357  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
6358  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
6359  DB  196,227,249,22,213,1                ; vpextrq       $0x1,%xmm2,%rbp
6360  DB  65,137,232                          ; mov           %ebp,%r8d
6361  DB  72,193,237,32                       ; shr           $0x20,%rbp
6362  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
6363  DB  65,137,217                          ; mov           %ebx,%r9d
6364  DB  72,193,235,32                       ; shr           $0x20,%rbx
6365  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
6366  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
6367  DB  69,137,211                          ; mov           %r10d,%r11d
6368  DB  73,193,234,32                       ; shr           $0x20,%r10
6369  DB  196,193,249,126,214                 ; vmovq         %xmm2,%r14
6370  DB  69,137,247                          ; mov           %r14d,%r15d
6371  DB  73,193,238,32                       ; shr           $0x20,%r14
6372  DB  196,163,121,32,20,8,0               ; vpinsrb       $0x0,(%rax,%r9,1),%xmm0,%xmm2
6373  DB  196,227,105,32,20,24,1              ; vpinsrb       $0x1,(%rax,%rbx,1),%xmm2,%xmm2
6374  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
6375  DB  196,227,105,32,211,2                ; vpinsrb       $0x2,%ebx,%xmm2,%xmm2
6376  DB  15,182,44,40                        ; movzbl        (%rax,%rbp,1),%ebp
6377  DB  196,227,105,32,213,3                ; vpinsrb       $0x3,%ebp,%xmm2,%xmm2
6378  DB  196,98,121,49,194                   ; vpmovzxbd     %xmm2,%xmm8
6379  DB  196,163,121,32,20,56,0              ; vpinsrb       $0x0,(%rax,%r15,1),%xmm0,%xmm2
6380  DB  196,163,105,32,20,48,1              ; vpinsrb       $0x1,(%rax,%r14,1),%xmm2,%xmm2
6381  DB  66,15,182,44,24                     ; movzbl        (%rax,%r11,1),%ebp
6382  DB  196,227,105,32,213,2                ; vpinsrb       $0x2,%ebp,%xmm2,%xmm2
6383  DB  66,15,182,4,16                      ; movzbl        (%rax,%r10,1),%eax
6384  DB  196,227,105,32,208,3                ; vpinsrb       $0x3,%eax,%xmm2,%xmm2
6385  DB  196,226,121,49,210                  ; vpmovzxbd     %xmm2,%xmm2
6386  DB  196,227,61,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm8,%ymm2
6387  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
6388  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
6389  DB  72,173                              ; lods          %ds:(%rsi),%rax
6390  DB  91                                  ; pop           %rbx
6391  DB  65,92                               ; pop           %r12
6392  DB  65,93                               ; pop           %r13
6393  DB  65,94                               ; pop           %r14
6394  DB  65,95                               ; pop           %r15
6395  DB  93                                  ; pop           %rbp
6396  DB  255,224                             ; jmpq          *%rax
6397
6398PUBLIC _sk_table_r_avx
6399_sk_table_r_avx LABEL PROC
6400  DB  65,87                               ; push          %r15
6401  DB  65,86                               ; push          %r14
6402  DB  65,84                               ; push          %r12
6403  DB  83                                  ; push          %rbx
6404  DB  72,173                              ; lods          %ds:(%rsi),%rax
6405  DB  76,139,0                            ; mov           (%rax),%r8
6406  DB  139,64,8                            ; mov           0x8(%rax),%eax
6407  DB  255,200                             ; dec           %eax
6408  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
6409  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
6410  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
6411  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
6412  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
6413  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
6414  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
6415  DB  65,137,193                          ; mov           %eax,%r9d
6416  DB  72,193,232,32                       ; shr           $0x20,%rax
6417  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
6418  DB  69,137,211                          ; mov           %r10d,%r11d
6419  DB  73,193,234,32                       ; shr           $0x20,%r10
6420  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
6421  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
6422  DB  65,137,222                          ; mov           %ebx,%r14d
6423  DB  72,193,235,32                       ; shr           $0x20,%rbx
6424  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
6425  DB  69,137,252                          ; mov           %r15d,%r12d
6426  DB  73,193,239,32                       ; shr           $0x20,%r15
6427  DB  196,129,122,16,4,160                ; vmovss        (%r8,%r12,4),%xmm0
6428  DB  196,3,121,33,4,184,16               ; vinsertps     $0x10,(%r8,%r15,4),%xmm0,%xmm8
6429  DB  196,129,122,16,4,176                ; vmovss        (%r8,%r14,4),%xmm0
6430  DB  196,99,57,33,192,32                 ; vinsertps     $0x20,%xmm0,%xmm8,%xmm8
6431  DB  196,193,122,16,4,152                ; vmovss        (%r8,%rbx,4),%xmm0
6432  DB  196,99,57,33,192,48                 ; vinsertps     $0x30,%xmm0,%xmm8,%xmm8
6433  DB  196,129,122,16,4,152                ; vmovss        (%r8,%r11,4),%xmm0
6434  DB  196,3,121,33,12,144,16              ; vinsertps     $0x10,(%r8,%r10,4),%xmm0,%xmm9
6435  DB  196,129,122,16,4,136                ; vmovss        (%r8,%r9,4),%xmm0
6436  DB  196,99,49,33,200,32                 ; vinsertps     $0x20,%xmm0,%xmm9,%xmm9
6437  DB  196,193,122,16,4,128                ; vmovss        (%r8,%rax,4),%xmm0
6438  DB  196,227,49,33,192,48                ; vinsertps     $0x30,%xmm0,%xmm9,%xmm0
6439  DB  196,195,125,24,192,1                ; vinsertf128   $0x1,%xmm8,%ymm0,%ymm0
6440  DB  72,173                              ; lods          %ds:(%rsi),%rax
6441  DB  91                                  ; pop           %rbx
6442  DB  65,92                               ; pop           %r12
6443  DB  65,94                               ; pop           %r14
6444  DB  65,95                               ; pop           %r15
6445  DB  255,224                             ; jmpq          *%rax
6446
6447PUBLIC _sk_table_g_avx
6448_sk_table_g_avx LABEL PROC
6449  DB  65,87                               ; push          %r15
6450  DB  65,86                               ; push          %r14
6451  DB  65,84                               ; push          %r12
6452  DB  83                                  ; push          %rbx
6453  DB  72,173                              ; lods          %ds:(%rsi),%rax
6454  DB  76,139,0                            ; mov           (%rax),%r8
6455  DB  139,64,8                            ; mov           0x8(%rax),%eax
6456  DB  255,200                             ; dec           %eax
6457  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
6458  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
6459  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
6460  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
6461  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
6462  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
6463  DB  196,227,249,22,200,1                ; vpextrq       $0x1,%xmm1,%rax
6464  DB  65,137,193                          ; mov           %eax,%r9d
6465  DB  72,193,232,32                       ; shr           $0x20,%rax
6466  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
6467  DB  69,137,211                          ; mov           %r10d,%r11d
6468  DB  73,193,234,32                       ; shr           $0x20,%r10
6469  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
6470  DB  196,227,249,22,203,1                ; vpextrq       $0x1,%xmm1,%rbx
6471  DB  65,137,222                          ; mov           %ebx,%r14d
6472  DB  72,193,235,32                       ; shr           $0x20,%rbx
6473  DB  196,193,249,126,207                 ; vmovq         %xmm1,%r15
6474  DB  69,137,252                          ; mov           %r15d,%r12d
6475  DB  73,193,239,32                       ; shr           $0x20,%r15
6476  DB  196,129,122,16,12,160               ; vmovss        (%r8,%r12,4),%xmm1
6477  DB  196,3,113,33,4,184,16               ; vinsertps     $0x10,(%r8,%r15,4),%xmm1,%xmm8
6478  DB  196,129,122,16,12,176               ; vmovss        (%r8,%r14,4),%xmm1
6479  DB  196,99,57,33,193,32                 ; vinsertps     $0x20,%xmm1,%xmm8,%xmm8
6480  DB  196,193,122,16,12,152               ; vmovss        (%r8,%rbx,4),%xmm1
6481  DB  196,99,57,33,193,48                 ; vinsertps     $0x30,%xmm1,%xmm8,%xmm8
6482  DB  196,129,122,16,12,152               ; vmovss        (%r8,%r11,4),%xmm1
6483  DB  196,3,113,33,12,144,16              ; vinsertps     $0x10,(%r8,%r10,4),%xmm1,%xmm9
6484  DB  196,129,122,16,12,136               ; vmovss        (%r8,%r9,4),%xmm1
6485  DB  196,99,49,33,201,32                 ; vinsertps     $0x20,%xmm1,%xmm9,%xmm9
6486  DB  196,193,122,16,12,128               ; vmovss        (%r8,%rax,4),%xmm1
6487  DB  196,227,49,33,201,48                ; vinsertps     $0x30,%xmm1,%xmm9,%xmm1
6488  DB  196,195,117,24,200,1                ; vinsertf128   $0x1,%xmm8,%ymm1,%ymm1
6489  DB  72,173                              ; lods          %ds:(%rsi),%rax
6490  DB  91                                  ; pop           %rbx
6491  DB  65,92                               ; pop           %r12
6492  DB  65,94                               ; pop           %r14
6493  DB  65,95                               ; pop           %r15
6494  DB  255,224                             ; jmpq          *%rax
6495
6496PUBLIC _sk_table_b_avx
6497_sk_table_b_avx LABEL PROC
6498  DB  65,87                               ; push          %r15
6499  DB  65,86                               ; push          %r14
6500  DB  65,84                               ; push          %r12
6501  DB  83                                  ; push          %rbx
6502  DB  72,173                              ; lods          %ds:(%rsi),%rax
6503  DB  76,139,0                            ; mov           (%rax),%r8
6504  DB  139,64,8                            ; mov           0x8(%rax),%eax
6505  DB  255,200                             ; dec           %eax
6506  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
6507  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
6508  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
6509  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
6510  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
6511  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
6512  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
6513  DB  65,137,193                          ; mov           %eax,%r9d
6514  DB  72,193,232,32                       ; shr           $0x20,%rax
6515  DB  196,193,249,126,210                 ; vmovq         %xmm2,%r10
6516  DB  69,137,211                          ; mov           %r10d,%r11d
6517  DB  73,193,234,32                       ; shr           $0x20,%r10
6518  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
6519  DB  196,227,249,22,211,1                ; vpextrq       $0x1,%xmm2,%rbx
6520  DB  65,137,222                          ; mov           %ebx,%r14d
6521  DB  72,193,235,32                       ; shr           $0x20,%rbx
6522  DB  196,193,249,126,215                 ; vmovq         %xmm2,%r15
6523  DB  69,137,252                          ; mov           %r15d,%r12d
6524  DB  73,193,239,32                       ; shr           $0x20,%r15
6525  DB  196,129,122,16,20,160               ; vmovss        (%r8,%r12,4),%xmm2
6526  DB  196,3,105,33,4,184,16               ; vinsertps     $0x10,(%r8,%r15,4),%xmm2,%xmm8
6527  DB  196,129,122,16,20,176               ; vmovss        (%r8,%r14,4),%xmm2
6528  DB  196,99,57,33,194,32                 ; vinsertps     $0x20,%xmm2,%xmm8,%xmm8
6529  DB  196,193,122,16,20,152               ; vmovss        (%r8,%rbx,4),%xmm2
6530  DB  196,99,57,33,194,48                 ; vinsertps     $0x30,%xmm2,%xmm8,%xmm8
6531  DB  196,129,122,16,20,152               ; vmovss        (%r8,%r11,4),%xmm2
6532  DB  196,3,105,33,12,144,16              ; vinsertps     $0x10,(%r8,%r10,4),%xmm2,%xmm9
6533  DB  196,129,122,16,20,136               ; vmovss        (%r8,%r9,4),%xmm2
6534  DB  196,99,49,33,202,32                 ; vinsertps     $0x20,%xmm2,%xmm9,%xmm9
6535  DB  196,193,122,16,20,128               ; vmovss        (%r8,%rax,4),%xmm2
6536  DB  196,227,49,33,210,48                ; vinsertps     $0x30,%xmm2,%xmm9,%xmm2
6537  DB  196,195,109,24,208,1                ; vinsertf128   $0x1,%xmm8,%ymm2,%ymm2
6538  DB  72,173                              ; lods          %ds:(%rsi),%rax
6539  DB  91                                  ; pop           %rbx
6540  DB  65,92                               ; pop           %r12
6541  DB  65,94                               ; pop           %r14
6542  DB  65,95                               ; pop           %r15
6543  DB  255,224                             ; jmpq          *%rax
6544
6545PUBLIC _sk_table_a_avx
6546_sk_table_a_avx LABEL PROC
6547  DB  65,87                               ; push          %r15
6548  DB  65,86                               ; push          %r14
6549  DB  65,84                               ; push          %r12
6550  DB  83                                  ; push          %rbx
6551  DB  72,173                              ; lods          %ds:(%rsi),%rax
6552  DB  76,139,0                            ; mov           (%rax),%r8
6553  DB  139,64,8                            ; mov           0x8(%rax),%eax
6554  DB  255,200                             ; dec           %eax
6555  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
6556  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
6557  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
6558  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
6559  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
6560  DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
6561  DB  196,227,249,22,216,1                ; vpextrq       $0x1,%xmm3,%rax
6562  DB  65,137,193                          ; mov           %eax,%r9d
6563  DB  72,193,232,32                       ; shr           $0x20,%rax
6564  DB  196,193,249,126,218                 ; vmovq         %xmm3,%r10
6565  DB  69,137,211                          ; mov           %r10d,%r11d
6566  DB  73,193,234,32                       ; shr           $0x20,%r10
6567  DB  196,227,125,25,219,1                ; vextractf128  $0x1,%ymm3,%xmm3
6568  DB  196,227,249,22,219,1                ; vpextrq       $0x1,%xmm3,%rbx
6569  DB  65,137,222                          ; mov           %ebx,%r14d
6570  DB  72,193,235,32                       ; shr           $0x20,%rbx
6571  DB  196,193,249,126,223                 ; vmovq         %xmm3,%r15
6572  DB  69,137,252                          ; mov           %r15d,%r12d
6573  DB  73,193,239,32                       ; shr           $0x20,%r15
6574  DB  196,129,122,16,28,160               ; vmovss        (%r8,%r12,4),%xmm3
6575  DB  196,3,97,33,4,184,16                ; vinsertps     $0x10,(%r8,%r15,4),%xmm3,%xmm8
6576  DB  196,129,122,16,28,176               ; vmovss        (%r8,%r14,4),%xmm3
6577  DB  196,99,57,33,195,32                 ; vinsertps     $0x20,%xmm3,%xmm8,%xmm8
6578  DB  196,193,122,16,28,152               ; vmovss        (%r8,%rbx,4),%xmm3
6579  DB  196,99,57,33,195,48                 ; vinsertps     $0x30,%xmm3,%xmm8,%xmm8
6580  DB  196,129,122,16,28,152               ; vmovss        (%r8,%r11,4),%xmm3
6581  DB  196,3,97,33,12,144,16               ; vinsertps     $0x10,(%r8,%r10,4),%xmm3,%xmm9
6582  DB  196,129,122,16,28,136               ; vmovss        (%r8,%r9,4),%xmm3
6583  DB  196,99,49,33,203,32                 ; vinsertps     $0x20,%xmm3,%xmm9,%xmm9
6584  DB  196,193,122,16,28,128               ; vmovss        (%r8,%rax,4),%xmm3
6585  DB  196,227,49,33,219,48                ; vinsertps     $0x30,%xmm3,%xmm9,%xmm3
6586  DB  196,195,101,24,216,1                ; vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
6587  DB  72,173                              ; lods          %ds:(%rsi),%rax
6588  DB  91                                  ; pop           %rbx
6589  DB  65,92                               ; pop           %r12
6590  DB  65,94                               ; pop           %r14
6591  DB  65,95                               ; pop           %r15
6592  DB  255,224                             ; jmpq          *%rax
6593
6594PUBLIC _sk_parametric_r_avx
6595_sk_parametric_r_avx LABEL PROC
6596  DB  72,173                              ; lods          %ds:(%rsi),%rax
6597  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
6598  DB  196,65,124,194,192,2                ; vcmpleps      %ymm8,%ymm0,%ymm8
6599  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
6600  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
6601  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
6602  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
6603  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
6604  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
6605  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
6606  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
6607  DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
6608  DB  197,124,91,216                      ; vcvtdq2ps     %ymm0,%ymm11
6609  DB  196,98,125,24,37,76,49,0,0          ; vbroadcastss  0x314c(%rip),%ymm12        # 5600 <_sk_callback_avx+0x215>
6610  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
6611  DB  196,98,125,24,37,66,49,0,0          ; vbroadcastss  0x3142(%rip),%ymm12        # 5604 <_sk_callback_avx+0x219>
6612  DB  196,193,124,84,196                  ; vandps        %ymm12,%ymm0,%ymm0
6613  DB  196,98,125,24,37,56,49,0,0          ; vbroadcastss  0x3138(%rip),%ymm12        # 5608 <_sk_callback_avx+0x21d>
6614  DB  196,193,124,86,196                  ; vorps         %ymm12,%ymm0,%ymm0
6615  DB  196,98,125,24,37,46,49,0,0          ; vbroadcastss  0x312e(%rip),%ymm12        # 560c <_sk_callback_avx+0x221>
6616  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
6617  DB  196,98,125,24,37,36,49,0,0          ; vbroadcastss  0x3124(%rip),%ymm12        # 5610 <_sk_callback_avx+0x225>
6618  DB  196,65,124,89,228                   ; vmulps        %ymm12,%ymm0,%ymm12
6619  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
6620  DB  196,98,125,24,37,21,49,0,0          ; vbroadcastss  0x3115(%rip),%ymm12        # 5614 <_sk_callback_avx+0x229>
6621  DB  196,193,124,88,196                  ; vaddps        %ymm12,%ymm0,%ymm0
6622  DB  196,98,125,24,37,11,49,0,0          ; vbroadcastss  0x310b(%rip),%ymm12        # 5618 <_sk_callback_avx+0x22d>
6623  DB  197,156,94,192                      ; vdivps        %ymm0,%ymm12,%ymm0
6624  DB  197,164,92,192                      ; vsubps        %ymm0,%ymm11,%ymm0
6625  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
6626  DB  196,99,125,8,208,1                  ; vroundps      $0x1,%ymm0,%ymm10
6627  DB  196,65,124,92,210                   ; vsubps        %ymm10,%ymm0,%ymm10
6628  DB  196,98,125,24,29,239,48,0,0         ; vbroadcastss  0x30ef(%rip),%ymm11        # 561c <_sk_callback_avx+0x231>
6629  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
6630  DB  196,98,125,24,29,229,48,0,0         ; vbroadcastss  0x30e5(%rip),%ymm11        # 5620 <_sk_callback_avx+0x235>
6631  DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
6632  DB  196,193,124,92,195                  ; vsubps        %ymm11,%ymm0,%ymm0
6633  DB  196,98,125,24,29,214,48,0,0         ; vbroadcastss  0x30d6(%rip),%ymm11        # 5624 <_sk_callback_avx+0x239>
6634  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
6635  DB  196,98,125,24,29,204,48,0,0         ; vbroadcastss  0x30cc(%rip),%ymm11        # 5628 <_sk_callback_avx+0x23d>
6636  DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
6637  DB  196,193,124,88,194                  ; vaddps        %ymm10,%ymm0,%ymm0
6638  DB  196,98,125,24,21,189,48,0,0         ; vbroadcastss  0x30bd(%rip),%ymm10        # 562c <_sk_callback_avx+0x241>
6639  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
6640  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
6641  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
6642  DB  196,193,124,88,194                  ; vaddps        %ymm10,%ymm0,%ymm0
6643  DB  196,195,125,74,193,128              ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
6644  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
6645  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
6646  DB  196,98,125,24,5,148,48,0,0          ; vbroadcastss  0x3094(%rip),%ymm8        # 5630 <_sk_callback_avx+0x245>
6647  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
6648  DB  72,173                              ; lods          %ds:(%rsi),%rax
6649  DB  255,224                             ; jmpq          *%rax
6650
6651PUBLIC _sk_parametric_g_avx
6652_sk_parametric_g_avx LABEL PROC
6653  DB  72,173                              ; lods          %ds:(%rsi),%rax
6654  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
6655  DB  196,65,116,194,192,2                ; vcmpleps      %ymm8,%ymm1,%ymm8
6656  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
6657  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
6658  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
6659  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
6660  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
6661  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
6662  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
6663  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
6664  DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
6665  DB  197,124,91,217                      ; vcvtdq2ps     %ymm1,%ymm11
6666  DB  196,98,125,24,37,69,48,0,0          ; vbroadcastss  0x3045(%rip),%ymm12        # 5634 <_sk_callback_avx+0x249>
6667  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
6668  DB  196,98,125,24,37,59,48,0,0          ; vbroadcastss  0x303b(%rip),%ymm12        # 5638 <_sk_callback_avx+0x24d>
6669  DB  196,193,116,84,204                  ; vandps        %ymm12,%ymm1,%ymm1
6670  DB  196,98,125,24,37,49,48,0,0          ; vbroadcastss  0x3031(%rip),%ymm12        # 563c <_sk_callback_avx+0x251>
6671  DB  196,193,116,86,204                  ; vorps         %ymm12,%ymm1,%ymm1
6672  DB  196,98,125,24,37,39,48,0,0          ; vbroadcastss  0x3027(%rip),%ymm12        # 5640 <_sk_callback_avx+0x255>
6673  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
6674  DB  196,98,125,24,37,29,48,0,0          ; vbroadcastss  0x301d(%rip),%ymm12        # 5644 <_sk_callback_avx+0x259>
6675  DB  196,65,116,89,228                   ; vmulps        %ymm12,%ymm1,%ymm12
6676  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
6677  DB  196,98,125,24,37,14,48,0,0          ; vbroadcastss  0x300e(%rip),%ymm12        # 5648 <_sk_callback_avx+0x25d>
6678  DB  196,193,116,88,204                  ; vaddps        %ymm12,%ymm1,%ymm1
6679  DB  196,98,125,24,37,4,48,0,0           ; vbroadcastss  0x3004(%rip),%ymm12        # 564c <_sk_callback_avx+0x261>
6680  DB  197,156,94,201                      ; vdivps        %ymm1,%ymm12,%ymm1
6681  DB  197,164,92,201                      ; vsubps        %ymm1,%ymm11,%ymm1
6682  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
6683  DB  196,99,125,8,209,1                  ; vroundps      $0x1,%ymm1,%ymm10
6684  DB  196,65,116,92,210                   ; vsubps        %ymm10,%ymm1,%ymm10
6685  DB  196,98,125,24,29,232,47,0,0         ; vbroadcastss  0x2fe8(%rip),%ymm11        # 5650 <_sk_callback_avx+0x265>
6686  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
6687  DB  196,98,125,24,29,222,47,0,0         ; vbroadcastss  0x2fde(%rip),%ymm11        # 5654 <_sk_callback_avx+0x269>
6688  DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
6689  DB  196,193,116,92,203                  ; vsubps        %ymm11,%ymm1,%ymm1
6690  DB  196,98,125,24,29,207,47,0,0         ; vbroadcastss  0x2fcf(%rip),%ymm11        # 5658 <_sk_callback_avx+0x26d>
6691  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
6692  DB  196,98,125,24,29,197,47,0,0         ; vbroadcastss  0x2fc5(%rip),%ymm11        # 565c <_sk_callback_avx+0x271>
6693  DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
6694  DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
6695  DB  196,98,125,24,21,182,47,0,0         ; vbroadcastss  0x2fb6(%rip),%ymm10        # 5660 <_sk_callback_avx+0x275>
6696  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
6697  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
6698  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
6699  DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
6700  DB  196,195,117,74,201,128              ; vblendvps     %ymm8,%ymm9,%ymm1,%ymm1
6701  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
6702  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
6703  DB  196,98,125,24,5,141,47,0,0          ; vbroadcastss  0x2f8d(%rip),%ymm8        # 5664 <_sk_callback_avx+0x279>
6704  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
6705  DB  72,173                              ; lods          %ds:(%rsi),%rax
6706  DB  255,224                             ; jmpq          *%rax
6707
6708PUBLIC _sk_parametric_b_avx
6709_sk_parametric_b_avx LABEL PROC
6710  DB  72,173                              ; lods          %ds:(%rsi),%rax
6711  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
6712  DB  196,65,108,194,192,2                ; vcmpleps      %ymm8,%ymm2,%ymm8
6713  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
6714  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
6715  DB  197,52,89,202                       ; vmulps        %ymm2,%ymm9,%ymm9
6716  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
6717  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
6718  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
6719  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
6720  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
6721  DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
6722  DB  197,124,91,218                      ; vcvtdq2ps     %ymm2,%ymm11
6723  DB  196,98,125,24,37,62,47,0,0          ; vbroadcastss  0x2f3e(%rip),%ymm12        # 5668 <_sk_callback_avx+0x27d>
6724  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
6725  DB  196,98,125,24,37,52,47,0,0          ; vbroadcastss  0x2f34(%rip),%ymm12        # 566c <_sk_callback_avx+0x281>
6726  DB  196,193,108,84,212                  ; vandps        %ymm12,%ymm2,%ymm2
6727  DB  196,98,125,24,37,42,47,0,0          ; vbroadcastss  0x2f2a(%rip),%ymm12        # 5670 <_sk_callback_avx+0x285>
6728  DB  196,193,108,86,212                  ; vorps         %ymm12,%ymm2,%ymm2
6729  DB  196,98,125,24,37,32,47,0,0          ; vbroadcastss  0x2f20(%rip),%ymm12        # 5674 <_sk_callback_avx+0x289>
6730  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
6731  DB  196,98,125,24,37,22,47,0,0          ; vbroadcastss  0x2f16(%rip),%ymm12        # 5678 <_sk_callback_avx+0x28d>
6732  DB  196,65,108,89,228                   ; vmulps        %ymm12,%ymm2,%ymm12
6733  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
6734  DB  196,98,125,24,37,7,47,0,0           ; vbroadcastss  0x2f07(%rip),%ymm12        # 567c <_sk_callback_avx+0x291>
6735  DB  196,193,108,88,212                  ; vaddps        %ymm12,%ymm2,%ymm2
6736  DB  196,98,125,24,37,253,46,0,0         ; vbroadcastss  0x2efd(%rip),%ymm12        # 5680 <_sk_callback_avx+0x295>
6737  DB  197,156,94,210                      ; vdivps        %ymm2,%ymm12,%ymm2
6738  DB  197,164,92,210                      ; vsubps        %ymm2,%ymm11,%ymm2
6739  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
6740  DB  196,99,125,8,210,1                  ; vroundps      $0x1,%ymm2,%ymm10
6741  DB  196,65,108,92,210                   ; vsubps        %ymm10,%ymm2,%ymm10
6742  DB  196,98,125,24,29,225,46,0,0         ; vbroadcastss  0x2ee1(%rip),%ymm11        # 5684 <_sk_callback_avx+0x299>
6743  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
6744  DB  196,98,125,24,29,215,46,0,0         ; vbroadcastss  0x2ed7(%rip),%ymm11        # 5688 <_sk_callback_avx+0x29d>
6745  DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
6746  DB  196,193,108,92,211                  ; vsubps        %ymm11,%ymm2,%ymm2
6747  DB  196,98,125,24,29,200,46,0,0         ; vbroadcastss  0x2ec8(%rip),%ymm11        # 568c <_sk_callback_avx+0x2a1>
6748  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
6749  DB  196,98,125,24,29,190,46,0,0         ; vbroadcastss  0x2ebe(%rip),%ymm11        # 5690 <_sk_callback_avx+0x2a5>
6750  DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
6751  DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
6752  DB  196,98,125,24,21,175,46,0,0         ; vbroadcastss  0x2eaf(%rip),%ymm10        # 5694 <_sk_callback_avx+0x2a9>
6753  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
6754  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
6755  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
6756  DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
6757  DB  196,195,109,74,209,128              ; vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
6758  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
6759  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
6760  DB  196,98,125,24,5,134,46,0,0          ; vbroadcastss  0x2e86(%rip),%ymm8        # 5698 <_sk_callback_avx+0x2ad>
6761  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
6762  DB  72,173                              ; lods          %ds:(%rsi),%rax
6763  DB  255,224                             ; jmpq          *%rax
6764
6765PUBLIC _sk_parametric_a_avx
6766_sk_parametric_a_avx LABEL PROC
6767  DB  72,173                              ; lods          %ds:(%rsi),%rax
6768  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
6769  DB  196,65,100,194,192,2                ; vcmpleps      %ymm8,%ymm3,%ymm8
6770  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
6771  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
6772  DB  197,52,89,203                       ; vmulps        %ymm3,%ymm9,%ymm9
6773  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
6774  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
6775  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
6776  DB  197,172,89,219                      ; vmulps        %ymm3,%ymm10,%ymm3
6777  DB  196,193,100,88,219                  ; vaddps        %ymm11,%ymm3,%ymm3
6778  DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
6779  DB  197,124,91,219                      ; vcvtdq2ps     %ymm3,%ymm11
6780  DB  196,98,125,24,37,55,46,0,0          ; vbroadcastss  0x2e37(%rip),%ymm12        # 569c <_sk_callback_avx+0x2b1>
6781  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
6782  DB  196,98,125,24,37,45,46,0,0          ; vbroadcastss  0x2e2d(%rip),%ymm12        # 56a0 <_sk_callback_avx+0x2b5>
6783  DB  196,193,100,84,220                  ; vandps        %ymm12,%ymm3,%ymm3
6784  DB  196,98,125,24,37,35,46,0,0          ; vbroadcastss  0x2e23(%rip),%ymm12        # 56a4 <_sk_callback_avx+0x2b9>
6785  DB  196,193,100,86,220                  ; vorps         %ymm12,%ymm3,%ymm3
6786  DB  196,98,125,24,37,25,46,0,0          ; vbroadcastss  0x2e19(%rip),%ymm12        # 56a8 <_sk_callback_avx+0x2bd>
6787  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
6788  DB  196,98,125,24,37,15,46,0,0          ; vbroadcastss  0x2e0f(%rip),%ymm12        # 56ac <_sk_callback_avx+0x2c1>
6789  DB  196,65,100,89,228                   ; vmulps        %ymm12,%ymm3,%ymm12
6790  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
6791  DB  196,98,125,24,37,0,46,0,0           ; vbroadcastss  0x2e00(%rip),%ymm12        # 56b0 <_sk_callback_avx+0x2c5>
6792  DB  196,193,100,88,220                  ; vaddps        %ymm12,%ymm3,%ymm3
6793  DB  196,98,125,24,37,246,45,0,0         ; vbroadcastss  0x2df6(%rip),%ymm12        # 56b4 <_sk_callback_avx+0x2c9>
6794  DB  197,156,94,219                      ; vdivps        %ymm3,%ymm12,%ymm3
6795  DB  197,164,92,219                      ; vsubps        %ymm3,%ymm11,%ymm3
6796  DB  197,172,89,219                      ; vmulps        %ymm3,%ymm10,%ymm3
6797  DB  196,99,125,8,211,1                  ; vroundps      $0x1,%ymm3,%ymm10
6798  DB  196,65,100,92,210                   ; vsubps        %ymm10,%ymm3,%ymm10
6799  DB  196,98,125,24,29,218,45,0,0         ; vbroadcastss  0x2dda(%rip),%ymm11        # 56b8 <_sk_callback_avx+0x2cd>
6800  DB  196,193,100,88,219                  ; vaddps        %ymm11,%ymm3,%ymm3
6801  DB  196,98,125,24,29,208,45,0,0         ; vbroadcastss  0x2dd0(%rip),%ymm11        # 56bc <_sk_callback_avx+0x2d1>
6802  DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
6803  DB  196,193,100,92,219                  ; vsubps        %ymm11,%ymm3,%ymm3
6804  DB  196,98,125,24,29,193,45,0,0         ; vbroadcastss  0x2dc1(%rip),%ymm11        # 56c0 <_sk_callback_avx+0x2d5>
6805  DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
6806  DB  196,98,125,24,29,183,45,0,0         ; vbroadcastss  0x2db7(%rip),%ymm11        # 56c4 <_sk_callback_avx+0x2d9>
6807  DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
6808  DB  196,193,100,88,218                  ; vaddps        %ymm10,%ymm3,%ymm3
6809  DB  196,98,125,24,21,168,45,0,0         ; vbroadcastss  0x2da8(%rip),%ymm10        # 56c8 <_sk_callback_avx+0x2dd>
6810  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
6811  DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
6812  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
6813  DB  196,193,100,88,218                  ; vaddps        %ymm10,%ymm3,%ymm3
6814  DB  196,195,101,74,217,128              ; vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
6815  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
6816  DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
6817  DB  196,98,125,24,5,127,45,0,0          ; vbroadcastss  0x2d7f(%rip),%ymm8        # 56cc <_sk_callback_avx+0x2e1>
6818  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
6819  DB  72,173                              ; lods          %ds:(%rsi),%rax
6820  DB  255,224                             ; jmpq          *%rax
6821
6822PUBLIC _sk_lab_to_xyz_avx
6823_sk_lab_to_xyz_avx LABEL PROC
6824  DB  196,98,125,24,5,113,45,0,0          ; vbroadcastss  0x2d71(%rip),%ymm8        # 56d0 <_sk_callback_avx+0x2e5>
6825  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
6826  DB  196,98,125,24,5,103,45,0,0          ; vbroadcastss  0x2d67(%rip),%ymm8        # 56d4 <_sk_callback_avx+0x2e9>
6827  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
6828  DB  196,98,125,24,13,93,45,0,0          ; vbroadcastss  0x2d5d(%rip),%ymm9        # 56d8 <_sk_callback_avx+0x2ed>
6829  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
6830  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
6831  DB  196,193,108,88,209                  ; vaddps        %ymm9,%ymm2,%ymm2
6832  DB  196,98,125,24,5,73,45,0,0           ; vbroadcastss  0x2d49(%rip),%ymm8        # 56dc <_sk_callback_avx+0x2f1>
6833  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
6834  DB  196,98,125,24,5,63,45,0,0           ; vbroadcastss  0x2d3f(%rip),%ymm8        # 56e0 <_sk_callback_avx+0x2f5>
6835  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
6836  DB  196,98,125,24,5,53,45,0,0           ; vbroadcastss  0x2d35(%rip),%ymm8        # 56e4 <_sk_callback_avx+0x2f9>
6837  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
6838  DB  197,252,88,201                      ; vaddps        %ymm1,%ymm0,%ymm1
6839  DB  196,98,125,24,5,39,45,0,0           ; vbroadcastss  0x2d27(%rip),%ymm8        # 56e8 <_sk_callback_avx+0x2fd>
6840  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
6841  DB  197,252,92,210                      ; vsubps        %ymm2,%ymm0,%ymm2
6842  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
6843  DB  196,65,116,89,192                   ; vmulps        %ymm8,%ymm1,%ymm8
6844  DB  196,98,125,24,13,16,45,0,0          ; vbroadcastss  0x2d10(%rip),%ymm9        # 56ec <_sk_callback_avx+0x301>
6845  DB  196,65,52,194,208,1                 ; vcmpltps      %ymm8,%ymm9,%ymm10
6846  DB  196,98,125,24,29,5,45,0,0           ; vbroadcastss  0x2d05(%rip),%ymm11        # 56f0 <_sk_callback_avx+0x305>
6847  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
6848  DB  196,98,125,24,37,251,44,0,0         ; vbroadcastss  0x2cfb(%rip),%ymm12        # 56f4 <_sk_callback_avx+0x309>
6849  DB  196,193,116,89,204                  ; vmulps        %ymm12,%ymm1,%ymm1
6850  DB  196,67,117,74,192,160               ; vblendvps     %ymm10,%ymm8,%ymm1,%ymm8
6851  DB  197,252,89,200                      ; vmulps        %ymm0,%ymm0,%ymm1
6852  DB  197,252,89,201                      ; vmulps        %ymm1,%ymm0,%ymm1
6853  DB  197,52,194,209,1                    ; vcmpltps      %ymm1,%ymm9,%ymm10
6854  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
6855  DB  196,193,124,89,196                  ; vmulps        %ymm12,%ymm0,%ymm0
6856  DB  196,227,125,74,201,160              ; vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
6857  DB  197,236,89,194                      ; vmulps        %ymm2,%ymm2,%ymm0
6858  DB  197,236,89,192                      ; vmulps        %ymm0,%ymm2,%ymm0
6859  DB  197,52,194,200,1                    ; vcmpltps      %ymm0,%ymm9,%ymm9
6860  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
6861  DB  196,193,108,89,212                  ; vmulps        %ymm12,%ymm2,%ymm2
6862  DB  196,227,109,74,208,144              ; vblendvps     %ymm9,%ymm0,%ymm2,%ymm2
6863  DB  196,226,125,24,5,177,44,0,0         ; vbroadcastss  0x2cb1(%rip),%ymm0        # 56f8 <_sk_callback_avx+0x30d>
6864  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
6865  DB  196,98,125,24,5,168,44,0,0          ; vbroadcastss  0x2ca8(%rip),%ymm8        # 56fc <_sk_callback_avx+0x311>
6866  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
6867  DB  72,173                              ; lods          %ds:(%rsi),%rax
6868  DB  255,224                             ; jmpq          *%rax
6869
6870PUBLIC _sk_load_a8_avx
6871_sk_load_a8_avx LABEL PROC
6872  DB  73,137,200                          ; mov           %rcx,%r8
6873  DB  72,173                              ; lods          %ds:(%rsi),%rax
6874  DB  72,139,0                            ; mov           (%rax),%rax
6875  DB  72,1,248                            ; add           %rdi,%rax
6876  DB  77,133,192                          ; test          %r8,%r8
6877  DB  117,62                              ; jne           2aab <_sk_load_a8_avx+0x4e>
6878  DB  197,250,126,0                       ; vmovq         (%rax),%xmm0
6879  DB  196,226,121,49,200                  ; vpmovzxbd     %xmm0,%xmm1
6880  DB  196,227,121,4,192,229               ; vpermilps     $0xe5,%xmm0,%xmm0
6881  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
6882  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
6883  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
6884  DB  196,226,125,24,13,108,44,0,0        ; vbroadcastss  0x2c6c(%rip),%ymm1        # 5700 <_sk_callback_avx+0x315>
6885  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
6886  DB  72,173                              ; lods          %ds:(%rsi),%rax
6887  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
6888  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
6889  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
6890  DB  76,137,193                          ; mov           %r8,%rcx
6891  DB  255,224                             ; jmpq          *%rax
6892  DB  49,201                              ; xor           %ecx,%ecx
6893  DB  77,137,194                          ; mov           %r8,%r10
6894  DB  69,49,201                           ; xor           %r9d,%r9d
6895  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
6896  DB  72,255,192                          ; inc           %rax
6897  DB  73,211,227                          ; shl           %cl,%r11
6898  DB  77,9,217                            ; or            %r11,%r9
6899  DB  72,131,193,8                        ; add           $0x8,%rcx
6900  DB  73,255,202                          ; dec           %r10
6901  DB  117,234                             ; jne           2ab3 <_sk_load_a8_avx+0x56>
6902  DB  196,193,249,110,193                 ; vmovq         %r9,%xmm0
6903  DB  235,161                             ; jmp           2a71 <_sk_load_a8_avx+0x14>
6904
6905PUBLIC _sk_gather_a8_avx
6906_sk_gather_a8_avx LABEL PROC
6907  DB  65,87                               ; push          %r15
6908  DB  65,86                               ; push          %r14
6909  DB  65,84                               ; push          %r12
6910  DB  83                                  ; push          %rbx
6911  DB  72,173                              ; lods          %ds:(%rsi),%rax
6912  DB  76,139,0                            ; mov           (%rax),%r8
6913  DB  197,254,91,209                      ; vcvttps2dq    %ymm1,%ymm2
6914  DB  197,249,110,72,16                   ; vmovd         0x10(%rax),%xmm1
6915  DB  197,249,112,217,0                   ; vpshufd       $0x0,%xmm1,%xmm3
6916  DB  196,226,97,64,202                   ; vpmulld       %xmm2,%xmm3,%xmm1
6917  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
6918  DB  196,226,97,64,210                   ; vpmulld       %xmm2,%xmm3,%xmm2
6919  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
6920  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
6921  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
6922  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
6923  DB  65,137,193                          ; mov           %eax,%r9d
6924  DB  72,193,232,32                       ; shr           $0x20,%rax
6925  DB  196,193,249,126,210                 ; vmovq         %xmm2,%r10
6926  DB  69,137,211                          ; mov           %r10d,%r11d
6927  DB  73,193,234,32                       ; shr           $0x20,%r10
6928  DB  197,241,254,192                     ; vpaddd        %xmm0,%xmm1,%xmm0
6929  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
6930  DB  65,137,222                          ; mov           %ebx,%r14d
6931  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
6932  DB  69,137,252                          ; mov           %r15d,%r12d
6933  DB  73,193,239,32                       ; shr           $0x20,%r15
6934  DB  72,193,235,32                       ; shr           $0x20,%rbx
6935  DB  196,131,121,32,4,48,0               ; vpinsrb       $0x0,(%r8,%r14,1),%xmm0,%xmm0
6936  DB  196,195,121,32,4,24,1               ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm0,%xmm0
6937  DB  67,15,182,28,32                     ; movzbl        (%r8,%r12,1),%ebx
6938  DB  196,227,121,32,195,2                ; vpinsrb       $0x2,%ebx,%xmm0,%xmm0
6939  DB  67,15,182,28,56                     ; movzbl        (%r8,%r15,1),%ebx
6940  DB  196,227,121,32,195,3                ; vpinsrb       $0x3,%ebx,%xmm0,%xmm0
6941  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
6942  DB  196,131,121,32,12,24,0              ; vpinsrb       $0x0,(%r8,%r11,1),%xmm0,%xmm1
6943  DB  196,131,113,32,12,16,1              ; vpinsrb       $0x1,(%r8,%r10,1),%xmm1,%xmm1
6944  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
6945  DB  196,227,113,32,203,2                ; vpinsrb       $0x2,%ebx,%xmm1,%xmm1
6946  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
6947  DB  196,227,113,32,200,3                ; vpinsrb       $0x3,%eax,%xmm1,%xmm1
6948  DB  196,226,121,49,201                  ; vpmovzxbd     %xmm1,%xmm1
6949  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
6950  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
6951  DB  196,226,125,24,13,97,43,0,0         ; vbroadcastss  0x2b61(%rip),%ymm1        # 5704 <_sk_callback_avx+0x319>
6952  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
6953  DB  72,173                              ; lods          %ds:(%rsi),%rax
6954  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
6955  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
6956  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
6957  DB  91                                  ; pop           %rbx
6958  DB  65,92                               ; pop           %r12
6959  DB  65,94                               ; pop           %r14
6960  DB  65,95                               ; pop           %r15
6961  DB  255,224                             ; jmpq          *%rax
6962
6963PUBLIC _sk_store_a8_avx
6964_sk_store_a8_avx LABEL PROC
6965  DB  72,173                              ; lods          %ds:(%rsi),%rax
6966  DB  76,139,16                           ; mov           (%rax),%r10
6967  DB  196,98,125,24,5,60,43,0,0           ; vbroadcastss  0x2b3c(%rip),%ymm8        # 5708 <_sk_callback_avx+0x31d>
6968  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
6969  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
6970  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
6971  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
6972  DB  196,65,57,103,192                   ; vpackuswb     %xmm8,%xmm8,%xmm8
6973  DB  72,133,201                          ; test          %rcx,%rcx
6974  DB  117,10                              ; jne           2bf5 <_sk_store_a8_avx+0x37>
6975  DB  196,65,123,17,4,58                  ; vmovsd        %xmm8,(%r10,%rdi,1)
6976  DB  72,173                              ; lods          %ds:(%rsi),%rax
6977  DB  255,224                             ; jmpq          *%rax
6978  DB  65,137,200                          ; mov           %ecx,%r8d
6979  DB  65,128,224,7                        ; and           $0x7,%r8b
6980  DB  65,254,200                          ; dec           %r8b
6981  DB  65,128,248,6                        ; cmp           $0x6,%r8b
6982  DB  119,236                             ; ja            2bf1 <_sk_store_a8_avx+0x33>
6983  DB  196,66,121,48,192                   ; vpmovzxbw     %xmm8,%xmm8
6984  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
6985  DB  76,141,13,67,0,0,0                  ; lea           0x43(%rip),%r9        # 2c58 <_sk_store_a8_avx+0x9a>
6986  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
6987  DB  76,1,200                            ; add           %r9,%rax
6988  DB  255,224                             ; jmpq          *%rax
6989  DB  196,67,121,20,68,58,6,12            ; vpextrb       $0xc,%xmm8,0x6(%r10,%rdi,1)
6990  DB  196,67,121,20,68,58,5,10            ; vpextrb       $0xa,%xmm8,0x5(%r10,%rdi,1)
6991  DB  196,67,121,20,68,58,4,8             ; vpextrb       $0x8,%xmm8,0x4(%r10,%rdi,1)
6992  DB  196,67,121,20,68,58,3,6             ; vpextrb       $0x6,%xmm8,0x3(%r10,%rdi,1)
6993  DB  196,67,121,20,68,58,2,4             ; vpextrb       $0x4,%xmm8,0x2(%r10,%rdi,1)
6994  DB  196,67,121,20,68,58,1,2             ; vpextrb       $0x2,%xmm8,0x1(%r10,%rdi,1)
6995  DB  196,67,121,20,4,58,0                ; vpextrb       $0x0,%xmm8,(%r10,%rdi,1)
6996  DB  235,154                             ; jmp           2bf1 <_sk_store_a8_avx+0x33>
6997  DB  144                                 ; nop
6998  DB  246,255                             ; idiv          %bh
6999  DB  255                                 ; (bad)
7000  DB  255                                 ; (bad)
7001  DB  238                                 ; out           %al,(%dx)
7002  DB  255                                 ; (bad)
7003  DB  255                                 ; (bad)
7004  DB  255,230                             ; jmpq          *%rsi
7005  DB  255                                 ; (bad)
7006  DB  255                                 ; (bad)
7007  DB  255                                 ; (bad)
7008  DB  222,255                             ; fdivrp        %st,%st(7)
7009  DB  255                                 ; (bad)
7010  DB  255,214                             ; callq         *%rsi
7011  DB  255                                 ; (bad)
7012  DB  255                                 ; (bad)
7013  DB  255,206                             ; dec           %esi
7014  DB  255                                 ; (bad)
7015  DB  255                                 ; (bad)
7016  DB  255,198                             ; inc           %esi
7017  DB  255                                 ; (bad)
7018  DB  255                                 ; (bad)
7019  DB  255                                 ; .byte         0xff
7020
7021PUBLIC _sk_load_g8_avx
7022_sk_load_g8_avx LABEL PROC
7023  DB  73,137,200                          ; mov           %rcx,%r8
7024  DB  72,173                              ; lods          %ds:(%rsi),%rax
7025  DB  72,139,0                            ; mov           (%rax),%rax
7026  DB  72,1,248                            ; add           %rdi,%rax
7027  DB  77,133,192                          ; test          %r8,%r8
7028  DB  117,67                              ; jne           2cc7 <_sk_load_g8_avx+0x53>
7029  DB  197,250,126,0                       ; vmovq         (%rax),%xmm0
7030  DB  196,226,121,49,200                  ; vpmovzxbd     %xmm0,%xmm1
7031  DB  196,227,121,4,192,229               ; vpermilps     $0xe5,%xmm0,%xmm0
7032  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
7033  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
7034  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7035  DB  196,226,125,24,13,97,42,0,0         ; vbroadcastss  0x2a61(%rip),%ymm1        # 570c <_sk_callback_avx+0x321>
7036  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
7037  DB  72,173                              ; lods          %ds:(%rsi),%rax
7038  DB  196,226,125,24,29,86,42,0,0         ; vbroadcastss  0x2a56(%rip),%ymm3        # 5710 <_sk_callback_avx+0x325>
7039  DB  76,137,193                          ; mov           %r8,%rcx
7040  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
7041  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
7042  DB  255,224                             ; jmpq          *%rax
7043  DB  49,201                              ; xor           %ecx,%ecx
7044  DB  77,137,194                          ; mov           %r8,%r10
7045  DB  69,49,201                           ; xor           %r9d,%r9d
7046  DB  68,15,182,24                        ; movzbl        (%rax),%r11d
7047  DB  72,255,192                          ; inc           %rax
7048  DB  73,211,227                          ; shl           %cl,%r11
7049  DB  77,9,217                            ; or            %r11,%r9
7050  DB  72,131,193,8                        ; add           $0x8,%rcx
7051  DB  73,255,202                          ; dec           %r10
7052  DB  117,234                             ; jne           2ccf <_sk_load_g8_avx+0x5b>
7053  DB  196,193,249,110,193                 ; vmovq         %r9,%xmm0
7054  DB  235,156                             ; jmp           2c88 <_sk_load_g8_avx+0x14>
7055
7056PUBLIC _sk_gather_g8_avx
7057_sk_gather_g8_avx LABEL PROC
7058  DB  65,87                               ; push          %r15
7059  DB  65,86                               ; push          %r14
7060  DB  65,84                               ; push          %r12
7061  DB  83                                  ; push          %rbx
7062  DB  72,173                              ; lods          %ds:(%rsi),%rax
7063  DB  76,139,0                            ; mov           (%rax),%r8
7064  DB  197,254,91,209                      ; vcvttps2dq    %ymm1,%ymm2
7065  DB  197,249,110,72,16                   ; vmovd         0x10(%rax),%xmm1
7066  DB  197,249,112,217,0                   ; vpshufd       $0x0,%xmm1,%xmm3
7067  DB  196,226,97,64,202                   ; vpmulld       %xmm2,%xmm3,%xmm1
7068  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
7069  DB  196,226,97,64,210                   ; vpmulld       %xmm2,%xmm3,%xmm2
7070  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
7071  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
7072  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
7073  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
7074  DB  65,137,193                          ; mov           %eax,%r9d
7075  DB  72,193,232,32                       ; shr           $0x20,%rax
7076  DB  196,193,249,126,210                 ; vmovq         %xmm2,%r10
7077  DB  69,137,211                          ; mov           %r10d,%r11d
7078  DB  73,193,234,32                       ; shr           $0x20,%r10
7079  DB  197,241,254,192                     ; vpaddd        %xmm0,%xmm1,%xmm0
7080  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
7081  DB  65,137,222                          ; mov           %ebx,%r14d
7082  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
7083  DB  69,137,252                          ; mov           %r15d,%r12d
7084  DB  73,193,239,32                       ; shr           $0x20,%r15
7085  DB  72,193,235,32                       ; shr           $0x20,%rbx
7086  DB  196,131,121,32,4,48,0               ; vpinsrb       $0x0,(%r8,%r14,1),%xmm0,%xmm0
7087  DB  196,195,121,32,4,24,1               ; vpinsrb       $0x1,(%r8,%rbx,1),%xmm0,%xmm0
7088  DB  67,15,182,28,32                     ; movzbl        (%r8,%r12,1),%ebx
7089  DB  196,227,121,32,195,2                ; vpinsrb       $0x2,%ebx,%xmm0,%xmm0
7090  DB  67,15,182,28,56                     ; movzbl        (%r8,%r15,1),%ebx
7091  DB  196,227,121,32,195,3                ; vpinsrb       $0x3,%ebx,%xmm0,%xmm0
7092  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
7093  DB  196,131,121,32,12,24,0              ; vpinsrb       $0x0,(%r8,%r11,1),%xmm0,%xmm1
7094  DB  196,131,113,32,12,16,1              ; vpinsrb       $0x1,(%r8,%r10,1),%xmm1,%xmm1
7095  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
7096  DB  196,227,113,32,203,2                ; vpinsrb       $0x2,%ebx,%xmm1,%xmm1
7097  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
7098  DB  196,227,113,32,200,3                ; vpinsrb       $0x3,%eax,%xmm1,%xmm1
7099  DB  196,226,121,49,201                  ; vpmovzxbd     %xmm1,%xmm1
7100  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
7101  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7102  DB  196,226,125,24,13,85,41,0,0         ; vbroadcastss  0x2955(%rip),%ymm1        # 5714 <_sk_callback_avx+0x329>
7103  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
7104  DB  72,173                              ; lods          %ds:(%rsi),%rax
7105  DB  196,226,125,24,29,74,41,0,0         ; vbroadcastss  0x294a(%rip),%ymm3        # 5718 <_sk_callback_avx+0x32d>
7106  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
7107  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
7108  DB  91                                  ; pop           %rbx
7109  DB  65,92                               ; pop           %r12
7110  DB  65,94                               ; pop           %r14
7111  DB  65,95                               ; pop           %r15
7112  DB  255,224                             ; jmpq          *%rax
7113
7114PUBLIC _sk_gather_i8_avx
7115_sk_gather_i8_avx LABEL PROC
7116  DB  72,173                              ; lods          %ds:(%rsi),%rax
7117  DB  73,137,192                          ; mov           %rax,%r8
7118  DB  77,133,192                          ; test          %r8,%r8
7119  DB  116,5                               ; je            2dee <_sk_gather_i8_avx+0xf>
7120  DB  76,137,192                          ; mov           %r8,%rax
7121  DB  235,2                               ; jmp           2df0 <_sk_gather_i8_avx+0x11>
7122  DB  72,173                              ; lods          %ds:(%rsi),%rax
7123  DB  65,87                               ; push          %r15
7124  DB  65,86                               ; push          %r14
7125  DB  65,85                               ; push          %r13
7126  DB  65,84                               ; push          %r12
7127  DB  83                                  ; push          %rbx
7128  DB  76,139,8                            ; mov           (%rax),%r9
7129  DB  197,254,91,209                      ; vcvttps2dq    %ymm1,%ymm2
7130  DB  197,249,110,72,16                   ; vmovd         0x10(%rax),%xmm1
7131  DB  197,249,112,217,0                   ; vpshufd       $0x0,%xmm1,%xmm3
7132  DB  196,226,97,64,202                   ; vpmulld       %xmm2,%xmm3,%xmm1
7133  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
7134  DB  196,226,97,64,210                   ; vpmulld       %xmm2,%xmm3,%xmm2
7135  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
7136  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
7137  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
7138  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
7139  DB  65,137,194                          ; mov           %eax,%r10d
7140  DB  72,193,232,32                       ; shr           $0x20,%rax
7141  DB  196,193,249,126,211                 ; vmovq         %xmm2,%r11
7142  DB  69,137,222                          ; mov           %r11d,%r14d
7143  DB  73,193,235,32                       ; shr           $0x20,%r11
7144  DB  197,241,254,192                     ; vpaddd        %xmm0,%xmm1,%xmm0
7145  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
7146  DB  65,137,223                          ; mov           %ebx,%r15d
7147  DB  196,195,249,22,196,1                ; vpextrq       $0x1,%xmm0,%r12
7148  DB  69,137,229                          ; mov           %r12d,%r13d
7149  DB  73,193,236,32                       ; shr           $0x20,%r12
7150  DB  72,193,235,32                       ; shr           $0x20,%rbx
7151  DB  196,131,121,32,4,49,0               ; vpinsrb       $0x0,(%r9,%r14,1),%xmm0,%xmm0
7152  DB  196,131,121,32,4,25,1               ; vpinsrb       $0x1,(%r9,%r11,1),%xmm0,%xmm0
7153  DB  196,131,121,32,4,17,2               ; vpinsrb       $0x2,(%r9,%r10,1),%xmm0,%xmm0
7154  DB  196,195,121,32,4,1,3                ; vpinsrb       $0x3,(%r9,%rax,1),%xmm0,%xmm0
7155  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
7156  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
7157  DB  196,193,249,126,195                 ; vmovq         %xmm0,%r11
7158  DB  196,131,121,32,4,57,0               ; vpinsrb       $0x0,(%r9,%r15,1),%xmm0,%xmm0
7159  DB  196,195,121,32,4,25,1               ; vpinsrb       $0x1,(%r9,%rbx,1),%xmm0,%xmm0
7160  DB  196,131,121,32,4,41,2               ; vpinsrb       $0x2,(%r9,%r13,1),%xmm0,%xmm0
7161  DB  196,131,121,32,4,33,3               ; vpinsrb       $0x3,(%r9,%r12,1),%xmm0,%xmm0
7162  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
7163  DB  73,139,88,8                         ; mov           0x8(%r8),%rbx
7164  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
7165  DB  69,137,200                          ; mov           %r9d,%r8d
7166  DB  73,193,233,30                       ; shr           $0x1e,%r9
7167  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
7168  DB  65,137,198                          ; mov           %eax,%r14d
7169  DB  72,193,232,30                       ; shr           $0x1e,%rax
7170  DB  69,137,223                          ; mov           %r11d,%r15d
7171  DB  73,193,235,30                       ; shr           $0x1e,%r11
7172  DB  69,137,212                          ; mov           %r10d,%r12d
7173  DB  73,193,234,30                       ; shr           $0x1e,%r10
7174  DB  196,161,121,110,4,131               ; vmovd         (%rbx,%r8,4),%xmm0
7175  DB  196,163,121,34,4,11,1               ; vpinsrd       $0x1,(%rbx,%r9,1),%xmm0,%xmm0
7176  DB  196,163,121,34,4,179,2              ; vpinsrd       $0x2,(%rbx,%r14,4),%xmm0,%xmm0
7177  DB  196,99,121,34,4,3,3                 ; vpinsrd       $0x3,(%rbx,%rax,1),%xmm0,%xmm8
7178  DB  196,161,121,110,4,187               ; vmovd         (%rbx,%r15,4),%xmm0
7179  DB  196,163,121,34,4,27,1               ; vpinsrd       $0x1,(%rbx,%r11,1),%xmm0,%xmm0
7180  DB  196,163,121,34,4,163,2              ; vpinsrd       $0x2,(%rbx,%r12,4),%xmm0,%xmm0
7181  DB  196,163,121,34,28,19,3              ; vpinsrd       $0x3,(%rbx,%r10,1),%xmm0,%xmm3
7182  DB  196,227,61,24,195,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
7183  DB  197,124,40,21,198,41,0,0            ; vmovaps       0x29c6(%rip),%ymm10        # 58e0 <_sk_callback_avx+0x4f5>
7184  DB  196,193,124,84,194                  ; vandps        %ymm10,%ymm0,%ymm0
7185  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7186  DB  196,98,125,24,13,240,39,0,0         ; vbroadcastss  0x27f0(%rip),%ymm9        # 571c <_sk_callback_avx+0x331>
7187  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
7188  DB  196,193,113,114,208,8               ; vpsrld        $0x8,%xmm8,%xmm1
7189  DB  197,233,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm2
7190  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
7191  DB  196,193,116,84,202                  ; vandps        %ymm10,%ymm1,%ymm1
7192  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
7193  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
7194  DB  196,193,33,114,208,16               ; vpsrld        $0x10,%xmm8,%xmm11
7195  DB  197,233,114,211,16                  ; vpsrld        $0x10,%xmm3,%xmm2
7196  DB  196,227,37,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
7197  DB  196,193,108,84,210                  ; vandps        %ymm10,%ymm2,%ymm2
7198  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
7199  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
7200  DB  196,193,57,114,208,24               ; vpsrld        $0x18,%xmm8,%xmm8
7201  DB  197,225,114,211,24                  ; vpsrld        $0x18,%xmm3,%xmm3
7202  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
7203  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
7204  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
7205  DB  72,173                              ; lods          %ds:(%rsi),%rax
7206  DB  91                                  ; pop           %rbx
7207  DB  65,92                               ; pop           %r12
7208  DB  65,93                               ; pop           %r13
7209  DB  65,94                               ; pop           %r14
7210  DB  65,95                               ; pop           %r15
7211  DB  255,224                             ; jmpq          *%rax
7212
7213PUBLIC _sk_load_565_avx
7214_sk_load_565_avx LABEL PROC
7215  DB  72,173                              ; lods          %ds:(%rsi),%rax
7216  DB  76,139,16                           ; mov           (%rax),%r10
7217  DB  72,133,201                          ; test          %rcx,%rcx
7218  DB  15,133,128,0,0,0                    ; jne           3024 <_sk_load_565_avx+0x8e>
7219  DB  196,193,122,111,4,122               ; vmovdqu       (%r10,%rdi,2),%xmm0
7220  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
7221  DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
7222  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
7223  DB  196,227,125,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
7224  DB  196,226,125,24,5,90,39,0,0          ; vbroadcastss  0x275a(%rip),%ymm0        # 5720 <_sk_callback_avx+0x335>
7225  DB  197,236,84,192                      ; vandps        %ymm0,%ymm2,%ymm0
7226  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7227  DB  196,226,125,24,13,77,39,0,0         ; vbroadcastss  0x274d(%rip),%ymm1        # 5724 <_sk_callback_avx+0x339>
7228  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
7229  DB  196,226,125,24,13,68,39,0,0         ; vbroadcastss  0x2744(%rip),%ymm1        # 5728 <_sk_callback_avx+0x33d>
7230  DB  197,236,84,201                      ; vandps        %ymm1,%ymm2,%ymm1
7231  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
7232  DB  196,226,125,24,29,55,39,0,0         ; vbroadcastss  0x2737(%rip),%ymm3        # 572c <_sk_callback_avx+0x341>
7233  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
7234  DB  196,226,125,24,29,46,39,0,0         ; vbroadcastss  0x272e(%rip),%ymm3        # 5730 <_sk_callback_avx+0x345>
7235  DB  197,236,84,211                      ; vandps        %ymm3,%ymm2,%ymm2
7236  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
7237  DB  196,226,125,24,29,33,39,0,0         ; vbroadcastss  0x2721(%rip),%ymm3        # 5734 <_sk_callback_avx+0x349>
7238  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
7239  DB  72,173                              ; lods          %ds:(%rsi),%rax
7240  DB  196,226,125,24,29,22,39,0,0         ; vbroadcastss  0x2716(%rip),%ymm3        # 5738 <_sk_callback_avx+0x34d>
7241  DB  255,224                             ; jmpq          *%rax
7242  DB  65,137,200                          ; mov           %ecx,%r8d
7243  DB  65,128,224,7                        ; and           $0x7,%r8b
7244  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
7245  DB  65,254,200                          ; dec           %r8b
7246  DB  65,128,248,6                        ; cmp           $0x6,%r8b
7247  DB  15,135,110,255,255,255              ; ja            2faa <_sk_load_565_avx+0x14>
7248  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
7249  DB  76,141,13,73,0,0,0                  ; lea           0x49(%rip),%r9        # 3090 <_sk_load_565_avx+0xfa>
7250  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
7251  DB  76,1,200                            ; add           %r9,%rax
7252  DB  255,224                             ; jmpq          *%rax
7253  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
7254  DB  196,193,121,196,68,122,12,6         ; vpinsrw       $0x6,0xc(%r10,%rdi,2),%xmm0,%xmm0
7255  DB  196,193,121,196,68,122,10,5         ; vpinsrw       $0x5,0xa(%r10,%rdi,2),%xmm0,%xmm0
7256  DB  196,193,121,196,68,122,8,4          ; vpinsrw       $0x4,0x8(%r10,%rdi,2),%xmm0,%xmm0
7257  DB  196,193,121,196,68,122,6,3          ; vpinsrw       $0x3,0x6(%r10,%rdi,2),%xmm0,%xmm0
7258  DB  196,193,121,196,68,122,4,2          ; vpinsrw       $0x2,0x4(%r10,%rdi,2),%xmm0,%xmm0
7259  DB  196,193,121,196,68,122,2,1          ; vpinsrw       $0x1,0x2(%r10,%rdi,2),%xmm0,%xmm0
7260  DB  196,193,121,196,4,122,0             ; vpinsrw       $0x0,(%r10,%rdi,2),%xmm0,%xmm0
7261  DB  233,26,255,255,255                  ; jmpq          2faa <_sk_load_565_avx+0x14>
7262  DB  244                                 ; hlt
7263  DB  255                                 ; (bad)
7264  DB  255                                 ; (bad)
7265  DB  255                                 ; (bad)
7266  DB  236                                 ; in            (%dx),%al
7267  DB  255                                 ; (bad)
7268  DB  255                                 ; (bad)
7269  DB  255,228                             ; jmpq          *%rsp
7270  DB  255                                 ; (bad)
7271  DB  255                                 ; (bad)
7272  DB  255                                 ; (bad)
7273  DB  220,255                             ; fdivr         %st,%st(7)
7274  DB  255                                 ; (bad)
7275  DB  255,212                             ; callq         *%rsp
7276  DB  255                                 ; (bad)
7277  DB  255                                 ; (bad)
7278  DB  255,204                             ; dec           %esp
7279  DB  255                                 ; (bad)
7280  DB  255                                 ; (bad)
7281  DB  255,192                             ; inc           %eax
7282  DB  255                                 ; (bad)
7283  DB  255                                 ; (bad)
7284  DB  255                                 ; .byte         0xff
7285
7286PUBLIC _sk_gather_565_avx
7287_sk_gather_565_avx LABEL PROC
7288  DB  85                                  ; push          %rbp
7289  DB  65,87                               ; push          %r15
7290  DB  65,86                               ; push          %r14
7291  DB  65,84                               ; push          %r12
7292  DB  83                                  ; push          %rbx
7293  DB  72,173                              ; lods          %ds:(%rsi),%rax
7294  DB  76,139,0                            ; mov           (%rax),%r8
7295  DB  197,254,91,209                      ; vcvttps2dq    %ymm1,%ymm2
7296  DB  197,249,110,72,16                   ; vmovd         0x10(%rax),%xmm1
7297  DB  197,249,112,217,0                   ; vpshufd       $0x0,%xmm1,%xmm3
7298  DB  196,226,97,64,202                   ; vpmulld       %xmm2,%xmm3,%xmm1
7299  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
7300  DB  196,226,97,64,210                   ; vpmulld       %xmm2,%xmm3,%xmm2
7301  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
7302  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
7303  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
7304  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
7305  DB  65,137,193                          ; mov           %eax,%r9d
7306  DB  72,193,232,32                       ; shr           $0x20,%rax
7307  DB  196,193,249,126,210                 ; vmovq         %xmm2,%r10
7308  DB  69,137,211                          ; mov           %r10d,%r11d
7309  DB  73,193,234,32                       ; shr           $0x20,%r10
7310  DB  197,241,254,192                     ; vpaddd        %xmm0,%xmm1,%xmm0
7311  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
7312  DB  65,137,222                          ; mov           %ebx,%r14d
7313  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
7314  DB  69,137,252                          ; mov           %r15d,%r12d
7315  DB  73,193,239,32                       ; shr           $0x20,%r15
7316  DB  72,193,235,32                       ; shr           $0x20,%rbx
7317  DB  65,15,183,28,88                     ; movzwl        (%r8,%rbx,2),%ebx
7318  DB  67,15,183,44,112                    ; movzwl        (%r8,%r14,2),%ebp
7319  DB  197,249,110,197                     ; vmovd         %ebp,%xmm0
7320  DB  197,249,196,195,1                   ; vpinsrw       $0x1,%ebx,%xmm0,%xmm0
7321  DB  67,15,183,28,96                     ; movzwl        (%r8,%r12,2),%ebx
7322  DB  197,249,196,195,2                   ; vpinsrw       $0x2,%ebx,%xmm0,%xmm0
7323  DB  67,15,183,28,120                    ; movzwl        (%r8,%r15,2),%ebx
7324  DB  197,249,196,195,3                   ; vpinsrw       $0x3,%ebx,%xmm0,%xmm0
7325  DB  67,15,183,44,88                     ; movzwl        (%r8,%r11,2),%ebp
7326  DB  197,249,196,197,4                   ; vpinsrw       $0x4,%ebp,%xmm0,%xmm0
7327  DB  67,15,183,44,80                     ; movzwl        (%r8,%r10,2),%ebp
7328  DB  197,249,196,197,5                   ; vpinsrw       $0x5,%ebp,%xmm0,%xmm0
7329  DB  67,15,183,44,72                     ; movzwl        (%r8,%r9,2),%ebp
7330  DB  197,249,196,197,6                   ; vpinsrw       $0x6,%ebp,%xmm0,%xmm0
7331  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
7332  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
7333  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
7334  DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
7335  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
7336  DB  196,227,125,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
7337  DB  196,226,125,24,5,182,37,0,0         ; vbroadcastss  0x25b6(%rip),%ymm0        # 573c <_sk_callback_avx+0x351>
7338  DB  197,236,84,192                      ; vandps        %ymm0,%ymm2,%ymm0
7339  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7340  DB  196,226,125,24,13,169,37,0,0        ; vbroadcastss  0x25a9(%rip),%ymm1        # 5740 <_sk_callback_avx+0x355>
7341  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
7342  DB  196,226,125,24,13,160,37,0,0        ; vbroadcastss  0x25a0(%rip),%ymm1        # 5744 <_sk_callback_avx+0x359>
7343  DB  197,236,84,201                      ; vandps        %ymm1,%ymm2,%ymm1
7344  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
7345  DB  196,226,125,24,29,147,37,0,0        ; vbroadcastss  0x2593(%rip),%ymm3        # 5748 <_sk_callback_avx+0x35d>
7346  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
7347  DB  196,226,125,24,29,138,37,0,0        ; vbroadcastss  0x258a(%rip),%ymm3        # 574c <_sk_callback_avx+0x361>
7348  DB  197,236,84,211                      ; vandps        %ymm3,%ymm2,%ymm2
7349  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
7350  DB  196,226,125,24,29,125,37,0,0        ; vbroadcastss  0x257d(%rip),%ymm3        # 5750 <_sk_callback_avx+0x365>
7351  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
7352  DB  72,173                              ; lods          %ds:(%rsi),%rax
7353  DB  196,226,125,24,29,114,37,0,0        ; vbroadcastss  0x2572(%rip),%ymm3        # 5754 <_sk_callback_avx+0x369>
7354  DB  91                                  ; pop           %rbx
7355  DB  65,92                               ; pop           %r12
7356  DB  65,94                               ; pop           %r14
7357  DB  65,95                               ; pop           %r15
7358  DB  93                                  ; pop           %rbp
7359  DB  255,224                             ; jmpq          *%rax
7360
7361PUBLIC _sk_store_565_avx
7362_sk_store_565_avx LABEL PROC
7363  DB  72,173                              ; lods          %ds:(%rsi),%rax
7364  DB  76,139,16                           ; mov           (%rax),%r10
7365  DB  196,98,125,24,5,94,37,0,0           ; vbroadcastss  0x255e(%rip),%ymm8        # 5758 <_sk_callback_avx+0x36d>
7366  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
7367  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
7368  DB  196,193,41,114,241,11               ; vpslld        $0xb,%xmm9,%xmm10
7369  DB  196,67,125,25,201,1                 ; vextractf128  $0x1,%ymm9,%xmm9
7370  DB  196,193,49,114,241,11               ; vpslld        $0xb,%xmm9,%xmm9
7371  DB  196,67,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
7372  DB  196,98,125,24,21,55,37,0,0          ; vbroadcastss  0x2537(%rip),%ymm10        # 575c <_sk_callback_avx+0x371>
7373  DB  196,65,116,89,210                   ; vmulps        %ymm10,%ymm1,%ymm10
7374  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
7375  DB  196,193,33,114,242,5                ; vpslld        $0x5,%xmm10,%xmm11
7376  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
7377  DB  196,193,41,114,242,5                ; vpslld        $0x5,%xmm10,%xmm10
7378  DB  196,67,37,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
7379  DB  196,65,45,86,201                    ; vorpd         %ymm9,%ymm10,%ymm9
7380  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
7381  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
7382  DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
7383  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
7384  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
7385  DB  72,133,201                          ; test          %rcx,%rcx
7386  DB  117,10                              ; jne           3275 <_sk_store_565_avx+0x89>
7387  DB  196,65,122,127,4,122                ; vmovdqu       %xmm8,(%r10,%rdi,2)
7388  DB  72,173                              ; lods          %ds:(%rsi),%rax
7389  DB  255,224                             ; jmpq          *%rax
7390  DB  65,137,200                          ; mov           %ecx,%r8d
7391  DB  65,128,224,7                        ; and           $0x7,%r8b
7392  DB  65,254,200                          ; dec           %r8b
7393  DB  65,128,248,6                        ; cmp           $0x6,%r8b
7394  DB  119,236                             ; ja            3271 <_sk_store_565_avx+0x85>
7395  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
7396  DB  76,141,13,68,0,0,0                  ; lea           0x44(%rip),%r9        # 32d4 <_sk_store_565_avx+0xe8>
7397  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
7398  DB  76,1,200                            ; add           %r9,%rax
7399  DB  255,224                             ; jmpq          *%rax
7400  DB  196,67,121,21,68,122,12,6           ; vpextrw       $0x6,%xmm8,0xc(%r10,%rdi,2)
7401  DB  196,67,121,21,68,122,10,5           ; vpextrw       $0x5,%xmm8,0xa(%r10,%rdi,2)
7402  DB  196,67,121,21,68,122,8,4            ; vpextrw       $0x4,%xmm8,0x8(%r10,%rdi,2)
7403  DB  196,67,121,21,68,122,6,3            ; vpextrw       $0x3,%xmm8,0x6(%r10,%rdi,2)
7404  DB  196,67,121,21,68,122,4,2            ; vpextrw       $0x2,%xmm8,0x4(%r10,%rdi,2)
7405  DB  196,67,121,21,68,122,2,1            ; vpextrw       $0x1,%xmm8,0x2(%r10,%rdi,2)
7406  DB  196,67,121,21,4,122,0               ; vpextrw       $0x0,%xmm8,(%r10,%rdi,2)
7407  DB  235,159                             ; jmp           3271 <_sk_store_565_avx+0x85>
7408  DB  102,144                             ; xchg          %ax,%ax
7409  DB  245                                 ; cmc
7410  DB  255                                 ; (bad)
7411  DB  255                                 ; (bad)
7412  DB  255                                 ; (bad)
7413  DB  237                                 ; in            (%dx),%eax
7414  DB  255                                 ; (bad)
7415  DB  255                                 ; (bad)
7416  DB  255,229                             ; jmpq          *%rbp
7417  DB  255                                 ; (bad)
7418  DB  255                                 ; (bad)
7419  DB  255                                 ; (bad)
7420  DB  221,255                             ; (bad)
7421  DB  255                                 ; (bad)
7422  DB  255,213                             ; callq         *%rbp
7423  DB  255                                 ; (bad)
7424  DB  255                                 ; (bad)
7425  DB  255,205                             ; dec           %ebp
7426  DB  255                                 ; (bad)
7427  DB  255                                 ; (bad)
7428  DB  255,197                             ; inc           %ebp
7429  DB  255                                 ; (bad)
7430  DB  255                                 ; (bad)
7431  DB  255                                 ; .byte         0xff
7432
7433PUBLIC _sk_load_4444_avx
7434_sk_load_4444_avx LABEL PROC
7435  DB  72,173                              ; lods          %ds:(%rsi),%rax
7436  DB  76,139,16                           ; mov           (%rax),%r10
7437  DB  72,133,201                          ; test          %rcx,%rcx
7438  DB  15,133,152,0,0,0                    ; jne           3396 <_sk_load_4444_avx+0xa6>
7439  DB  196,193,122,111,4,122               ; vmovdqu       (%r10,%rdi,2),%xmm0
7440  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
7441  DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
7442  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
7443  DB  196,227,125,24,217,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
7444  DB  196,226,125,24,5,64,36,0,0          ; vbroadcastss  0x2440(%rip),%ymm0        # 5760 <_sk_callback_avx+0x375>
7445  DB  197,228,84,192                      ; vandps        %ymm0,%ymm3,%ymm0
7446  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7447  DB  196,226,125,24,13,51,36,0,0         ; vbroadcastss  0x2433(%rip),%ymm1        # 5764 <_sk_callback_avx+0x379>
7448  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
7449  DB  196,226,125,24,13,42,36,0,0         ; vbroadcastss  0x242a(%rip),%ymm1        # 5768 <_sk_callback_avx+0x37d>
7450  DB  197,228,84,201                      ; vandps        %ymm1,%ymm3,%ymm1
7451  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
7452  DB  196,226,125,24,21,29,36,0,0         ; vbroadcastss  0x241d(%rip),%ymm2        # 576c <_sk_callback_avx+0x381>
7453  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
7454  DB  196,226,125,24,21,20,36,0,0         ; vbroadcastss  0x2414(%rip),%ymm2        # 5770 <_sk_callback_avx+0x385>
7455  DB  197,228,84,210                      ; vandps        %ymm2,%ymm3,%ymm2
7456  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
7457  DB  196,98,125,24,5,7,36,0,0            ; vbroadcastss  0x2407(%rip),%ymm8        # 5774 <_sk_callback_avx+0x389>
7458  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
7459  DB  196,98,125,24,5,253,35,0,0          ; vbroadcastss  0x23fd(%rip),%ymm8        # 5778 <_sk_callback_avx+0x38d>
7460  DB  196,193,100,84,216                  ; vandps        %ymm8,%ymm3,%ymm3
7461  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
7462  DB  196,98,125,24,5,239,35,0,0          ; vbroadcastss  0x23ef(%rip),%ymm8        # 577c <_sk_callback_avx+0x391>
7463  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
7464  DB  72,173                              ; lods          %ds:(%rsi),%rax
7465  DB  255,224                             ; jmpq          *%rax
7466  DB  65,137,200                          ; mov           %ecx,%r8d
7467  DB  65,128,224,7                        ; and           $0x7,%r8b
7468  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
7469  DB  65,254,200                          ; dec           %r8b
7470  DB  65,128,248,6                        ; cmp           $0x6,%r8b
7471  DB  15,135,86,255,255,255               ; ja            3304 <_sk_load_4444_avx+0x14>
7472  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
7473  DB  76,141,13,75,0,0,0                  ; lea           0x4b(%rip),%r9        # 3404 <_sk_load_4444_avx+0x114>
7474  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
7475  DB  76,1,200                            ; add           %r9,%rax
7476  DB  255,224                             ; jmpq          *%rax
7477  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
7478  DB  196,193,121,196,68,122,12,6         ; vpinsrw       $0x6,0xc(%r10,%rdi,2),%xmm0,%xmm0
7479  DB  196,193,121,196,68,122,10,5         ; vpinsrw       $0x5,0xa(%r10,%rdi,2),%xmm0,%xmm0
7480  DB  196,193,121,196,68,122,8,4          ; vpinsrw       $0x4,0x8(%r10,%rdi,2),%xmm0,%xmm0
7481  DB  196,193,121,196,68,122,6,3          ; vpinsrw       $0x3,0x6(%r10,%rdi,2),%xmm0,%xmm0
7482  DB  196,193,121,196,68,122,4,2          ; vpinsrw       $0x2,0x4(%r10,%rdi,2),%xmm0,%xmm0
7483  DB  196,193,121,196,68,122,2,1          ; vpinsrw       $0x1,0x2(%r10,%rdi,2),%xmm0,%xmm0
7484  DB  196,193,121,196,4,122,0             ; vpinsrw       $0x0,(%r10,%rdi,2),%xmm0,%xmm0
7485  DB  233,2,255,255,255                   ; jmpq          3304 <_sk_load_4444_avx+0x14>
7486  DB  102,144                             ; xchg          %ax,%ax
7487  DB  242,255                             ; repnz         (bad)
7488  DB  255                                 ; (bad)
7489  DB  255                                 ; (bad)
7490  DB  234                                 ; (bad)
7491  DB  255                                 ; (bad)
7492  DB  255                                 ; (bad)
7493  DB  255,226                             ; jmpq          *%rdx
7494  DB  255                                 ; (bad)
7495  DB  255                                 ; (bad)
7496  DB  255                                 ; (bad)
7497  DB  218,255                             ; (bad)
7498  DB  255                                 ; (bad)
7499  DB  255,210                             ; callq         *%rdx
7500  DB  255                                 ; (bad)
7501  DB  255                                 ; (bad)
7502  DB  255,202                             ; dec           %edx
7503  DB  255                                 ; (bad)
7504  DB  255                                 ; (bad)
7505  DB  255                                 ; (bad)
7506  DB  190                                 ; .byte         0xbe
7507  DB  255                                 ; (bad)
7508  DB  255                                 ; (bad)
7509  DB  255                                 ; .byte         0xff
7510
7511PUBLIC _sk_gather_4444_avx
7512_sk_gather_4444_avx LABEL PROC
7513  DB  85                                  ; push          %rbp
7514  DB  65,87                               ; push          %r15
7515  DB  65,86                               ; push          %r14
7516  DB  65,84                               ; push          %r12
7517  DB  83                                  ; push          %rbx
7518  DB  72,173                              ; lods          %ds:(%rsi),%rax
7519  DB  76,139,0                            ; mov           (%rax),%r8
7520  DB  197,254,91,209                      ; vcvttps2dq    %ymm1,%ymm2
7521  DB  197,249,110,72,16                   ; vmovd         0x10(%rax),%xmm1
7522  DB  197,249,112,217,0                   ; vpshufd       $0x0,%xmm1,%xmm3
7523  DB  196,226,97,64,202                   ; vpmulld       %xmm2,%xmm3,%xmm1
7524  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
7525  DB  196,226,97,64,210                   ; vpmulld       %xmm2,%xmm3,%xmm2
7526  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
7527  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
7528  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
7529  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
7530  DB  65,137,193                          ; mov           %eax,%r9d
7531  DB  72,193,232,32                       ; shr           $0x20,%rax
7532  DB  196,193,249,126,210                 ; vmovq         %xmm2,%r10
7533  DB  69,137,211                          ; mov           %r10d,%r11d
7534  DB  73,193,234,32                       ; shr           $0x20,%r10
7535  DB  197,241,254,192                     ; vpaddd        %xmm0,%xmm1,%xmm0
7536  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
7537  DB  65,137,222                          ; mov           %ebx,%r14d
7538  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
7539  DB  69,137,252                          ; mov           %r15d,%r12d
7540  DB  73,193,239,32                       ; shr           $0x20,%r15
7541  DB  72,193,235,32                       ; shr           $0x20,%rbx
7542  DB  65,15,183,28,88                     ; movzwl        (%r8,%rbx,2),%ebx
7543  DB  67,15,183,44,112                    ; movzwl        (%r8,%r14,2),%ebp
7544  DB  197,249,110,197                     ; vmovd         %ebp,%xmm0
7545  DB  197,249,196,195,1                   ; vpinsrw       $0x1,%ebx,%xmm0,%xmm0
7546  DB  67,15,183,28,96                     ; movzwl        (%r8,%r12,2),%ebx
7547  DB  197,249,196,195,2                   ; vpinsrw       $0x2,%ebx,%xmm0,%xmm0
7548  DB  67,15,183,28,120                    ; movzwl        (%r8,%r15,2),%ebx
7549  DB  197,249,196,195,3                   ; vpinsrw       $0x3,%ebx,%xmm0,%xmm0
7550  DB  67,15,183,44,88                     ; movzwl        (%r8,%r11,2),%ebp
7551  DB  197,249,196,197,4                   ; vpinsrw       $0x4,%ebp,%xmm0,%xmm0
7552  DB  67,15,183,44,80                     ; movzwl        (%r8,%r10,2),%ebp
7553  DB  197,249,196,197,5                   ; vpinsrw       $0x5,%ebp,%xmm0,%xmm0
7554  DB  67,15,183,44,72                     ; movzwl        (%r8,%r9,2),%ebp
7555  DB  197,249,196,197,6                   ; vpinsrw       $0x6,%ebp,%xmm0,%xmm0
7556  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
7557  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
7558  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
7559  DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
7560  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
7561  DB  196,227,125,24,217,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
7562  DB  196,226,125,24,5,134,34,0,0         ; vbroadcastss  0x2286(%rip),%ymm0        # 5780 <_sk_callback_avx+0x395>
7563  DB  197,228,84,192                      ; vandps        %ymm0,%ymm3,%ymm0
7564  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7565  DB  196,226,125,24,13,121,34,0,0        ; vbroadcastss  0x2279(%rip),%ymm1        # 5784 <_sk_callback_avx+0x399>
7566  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
7567  DB  196,226,125,24,13,112,34,0,0        ; vbroadcastss  0x2270(%rip),%ymm1        # 5788 <_sk_callback_avx+0x39d>
7568  DB  197,228,84,201                      ; vandps        %ymm1,%ymm3,%ymm1
7569  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
7570  DB  196,226,125,24,21,99,34,0,0         ; vbroadcastss  0x2263(%rip),%ymm2        # 578c <_sk_callback_avx+0x3a1>
7571  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
7572  DB  196,226,125,24,21,90,34,0,0         ; vbroadcastss  0x225a(%rip),%ymm2        # 5790 <_sk_callback_avx+0x3a5>
7573  DB  197,228,84,210                      ; vandps        %ymm2,%ymm3,%ymm2
7574  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
7575  DB  196,98,125,24,5,77,34,0,0           ; vbroadcastss  0x224d(%rip),%ymm8        # 5794 <_sk_callback_avx+0x3a9>
7576  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
7577  DB  196,98,125,24,5,67,34,0,0           ; vbroadcastss  0x2243(%rip),%ymm8        # 5798 <_sk_callback_avx+0x3ad>
7578  DB  196,193,100,84,216                  ; vandps        %ymm8,%ymm3,%ymm3
7579  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
7580  DB  196,98,125,24,5,53,34,0,0           ; vbroadcastss  0x2235(%rip),%ymm8        # 579c <_sk_callback_avx+0x3b1>
7581  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
7582  DB  72,173                              ; lods          %ds:(%rsi),%rax
7583  DB  91                                  ; pop           %rbx
7584  DB  65,92                               ; pop           %r12
7585  DB  65,94                               ; pop           %r14
7586  DB  65,95                               ; pop           %r15
7587  DB  93                                  ; pop           %rbp
7588  DB  255,224                             ; jmpq          *%rax
7589
7590PUBLIC _sk_store_4444_avx
7591_sk_store_4444_avx LABEL PROC
7592  DB  72,173                              ; lods          %ds:(%rsi),%rax
7593  DB  76,139,16                           ; mov           (%rax),%r10
7594  DB  196,98,125,24,5,26,34,0,0           ; vbroadcastss  0x221a(%rip),%ymm8        # 57a0 <_sk_callback_avx+0x3b5>
7595  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
7596  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
7597  DB  196,193,41,114,241,12               ; vpslld        $0xc,%xmm9,%xmm10
7598  DB  196,67,125,25,201,1                 ; vextractf128  $0x1,%ymm9,%xmm9
7599  DB  196,193,49,114,241,12               ; vpslld        $0xc,%xmm9,%xmm9
7600  DB  196,67,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
7601  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
7602  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
7603  DB  196,193,33,114,242,8                ; vpslld        $0x8,%xmm10,%xmm11
7604  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
7605  DB  196,193,41,114,242,8                ; vpslld        $0x8,%xmm10,%xmm10
7606  DB  196,67,37,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
7607  DB  196,65,45,86,201                    ; vorpd         %ymm9,%ymm10,%ymm9
7608  DB  196,65,108,89,208                   ; vmulps        %ymm8,%ymm2,%ymm10
7609  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
7610  DB  196,193,33,114,242,4                ; vpslld        $0x4,%xmm10,%xmm11
7611  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
7612  DB  196,193,41,114,242,4                ; vpslld        $0x4,%xmm10,%xmm10
7613  DB  196,67,37,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
7614  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
7615  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
7616  DB  196,65,45,86,192                    ; vorpd         %ymm8,%ymm10,%ymm8
7617  DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
7618  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
7619  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
7620  DB  72,133,201                          ; test          %rcx,%rcx
7621  DB  117,10                              ; jne           361f <_sk_store_4444_avx+0xa7>
7622  DB  196,65,122,127,4,122                ; vmovdqu       %xmm8,(%r10,%rdi,2)
7623  DB  72,173                              ; lods          %ds:(%rsi),%rax
7624  DB  255,224                             ; jmpq          *%rax
7625  DB  65,137,200                          ; mov           %ecx,%r8d
7626  DB  65,128,224,7                        ; and           $0x7,%r8b
7627  DB  65,254,200                          ; dec           %r8b
7628  DB  65,128,248,6                        ; cmp           $0x6,%r8b
7629  DB  119,236                             ; ja            361b <_sk_store_4444_avx+0xa3>
7630  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
7631  DB  76,141,13,66,0,0,0                  ; lea           0x42(%rip),%r9        # 367c <_sk_store_4444_avx+0x104>
7632  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
7633  DB  76,1,200                            ; add           %r9,%rax
7634  DB  255,224                             ; jmpq          *%rax
7635  DB  196,67,121,21,68,122,12,6           ; vpextrw       $0x6,%xmm8,0xc(%r10,%rdi,2)
7636  DB  196,67,121,21,68,122,10,5           ; vpextrw       $0x5,%xmm8,0xa(%r10,%rdi,2)
7637  DB  196,67,121,21,68,122,8,4            ; vpextrw       $0x4,%xmm8,0x8(%r10,%rdi,2)
7638  DB  196,67,121,21,68,122,6,3            ; vpextrw       $0x3,%xmm8,0x6(%r10,%rdi,2)
7639  DB  196,67,121,21,68,122,4,2            ; vpextrw       $0x2,%xmm8,0x4(%r10,%rdi,2)
7640  DB  196,67,121,21,68,122,2,1            ; vpextrw       $0x1,%xmm8,0x2(%r10,%rdi,2)
7641  DB  196,67,121,21,4,122,0               ; vpextrw       $0x0,%xmm8,(%r10,%rdi,2)
7642  DB  235,159                             ; jmp           361b <_sk_store_4444_avx+0xa3>
7643  DB  247,255                             ; idiv          %edi
7644  DB  255                                 ; (bad)
7645  DB  255                                 ; (bad)
7646  DB  239                                 ; out           %eax,(%dx)
7647  DB  255                                 ; (bad)
7648  DB  255                                 ; (bad)
7649  DB  255,231                             ; jmpq          *%rdi
7650  DB  255                                 ; (bad)
7651  DB  255                                 ; (bad)
7652  DB  255                                 ; (bad)
7653  DB  223,255                             ; (bad)
7654  DB  255                                 ; (bad)
7655  DB  255,215                             ; callq         *%rdi
7656  DB  255                                 ; (bad)
7657  DB  255                                 ; (bad)
7658  DB  255,207                             ; dec           %edi
7659  DB  255                                 ; (bad)
7660  DB  255                                 ; (bad)
7661  DB  255,199                             ; inc           %edi
7662  DB  255                                 ; (bad)
7663  DB  255                                 ; (bad)
7664  DB  255                                 ; .byte         0xff
7665
7666PUBLIC _sk_load_8888_avx
7667_sk_load_8888_avx LABEL PROC
7668  DB  72,173                              ; lods          %ds:(%rsi),%rax
7669  DB  76,139,16                           ; mov           (%rax),%r10
7670  DB  72,133,201                          ; test          %rcx,%rcx
7671  DB  15,133,135,0,0,0                    ; jne           372d <_sk_load_8888_avx+0x95>
7672  DB  196,65,124,16,12,186                ; vmovups       (%r10,%rdi,4),%ymm9
7673  DB  197,124,40,21,76,34,0,0             ; vmovaps       0x224c(%rip),%ymm10        # 5900 <_sk_callback_avx+0x515>
7674  DB  196,193,52,84,194                   ; vandps        %ymm10,%ymm9,%ymm0
7675  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7676  DB  196,98,125,24,5,222,32,0,0          ; vbroadcastss  0x20de(%rip),%ymm8        # 57a4 <_sk_callback_avx+0x3b9>
7677  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
7678  DB  196,193,113,114,209,8               ; vpsrld        $0x8,%xmm9,%xmm1
7679  DB  196,99,125,25,203,1                 ; vextractf128  $0x1,%ymm9,%xmm3
7680  DB  197,233,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm2
7681  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
7682  DB  196,193,116,84,202                  ; vandps        %ymm10,%ymm1,%ymm1
7683  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
7684  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
7685  DB  196,193,33,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm11
7686  DB  197,233,114,211,16                  ; vpsrld        $0x10,%xmm3,%xmm2
7687  DB  196,227,37,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
7688  DB  196,193,108,84,210                  ; vandps        %ymm10,%ymm2,%ymm2
7689  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
7690  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
7691  DB  196,193,49,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm9
7692  DB  197,225,114,211,24                  ; vpsrld        $0x18,%xmm3,%xmm3
7693  DB  196,227,53,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm9,%ymm3
7694  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
7695  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
7696  DB  72,173                              ; lods          %ds:(%rsi),%rax
7697  DB  255,224                             ; jmpq          *%rax
7698  DB  65,137,200                          ; mov           %ecx,%r8d
7699  DB  65,128,224,7                        ; and           $0x7,%r8b
7700  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
7701  DB  65,254,200                          ; dec           %r8b
7702  DB  65,128,248,6                        ; cmp           $0x6,%r8b
7703  DB  15,135,102,255,255,255              ; ja            36ac <_sk_load_8888_avx+0x14>
7704  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
7705  DB  76,141,13,139,0,0,0                 ; lea           0x8b(%rip),%r9        # 37dc <_sk_load_8888_avx+0x144>
7706  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
7707  DB  76,1,200                            ; add           %r9,%rax
7708  DB  255,224                             ; jmpq          *%rax
7709  DB  196,193,121,110,68,186,24           ; vmovd         0x18(%r10,%rdi,4),%xmm0
7710  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
7711  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
7712  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
7713  DB  196,99,117,12,200,64                ; vblendps      $0x40,%ymm0,%ymm1,%ymm9
7714  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
7715  DB  196,195,121,34,68,186,20,1          ; vpinsrd       $0x1,0x14(%r10,%rdi,4),%xmm0,%xmm0
7716  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
7717  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
7718  DB  196,195,121,34,68,186,16,0          ; vpinsrd       $0x0,0x10(%r10,%rdi,4),%xmm0,%xmm0
7719  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
7720  DB  196,195,49,34,68,186,12,3           ; vpinsrd       $0x3,0xc(%r10,%rdi,4),%xmm9,%xmm0
7721  DB  196,99,53,12,200,15                 ; vblendps      $0xf,%ymm0,%ymm9,%ymm9
7722  DB  196,195,49,34,68,186,8,2            ; vpinsrd       $0x2,0x8(%r10,%rdi,4),%xmm9,%xmm0
7723  DB  196,99,53,12,200,15                 ; vblendps      $0xf,%ymm0,%ymm9,%ymm9
7724  DB  196,195,49,34,68,186,4,1            ; vpinsrd       $0x1,0x4(%r10,%rdi,4),%xmm9,%xmm0
7725  DB  196,99,53,12,200,15                 ; vblendps      $0xf,%ymm0,%ymm9,%ymm9
7726  DB  196,195,49,34,4,186,0               ; vpinsrd       $0x0,(%r10,%rdi,4),%xmm9,%xmm0
7727  DB  196,99,53,12,200,15                 ; vblendps      $0xf,%ymm0,%ymm9,%ymm9
7728  DB  233,210,254,255,255                 ; jmpq          36ac <_sk_load_8888_avx+0x14>
7729  DB  102,144                             ; xchg          %ax,%ax
7730  DB  236                                 ; in            (%dx),%al
7731  DB  255                                 ; (bad)
7732  DB  255                                 ; (bad)
7733  DB  255                                 ; (bad)
7734  DB  222,255                             ; fdivrp        %st,%st(7)
7735  DB  255                                 ; (bad)
7736  DB  255,208                             ; callq         *%rax
7737  DB  255                                 ; (bad)
7738  DB  255                                 ; (bad)
7739  DB  255,194                             ; inc           %edx
7740  DB  255                                 ; (bad)
7741  DB  255                                 ; (bad)
7742  DB  255,174,255,255,255,154             ; ljmp          *-0x65000001(%rsi)
7743  DB  255                                 ; (bad)
7744  DB  255                                 ; (bad)
7745  DB  255                                 ; (bad)
7746  DB  126,255                             ; jle           37f5 <_sk_load_8888_avx+0x15d>
7747  DB  255                                 ; (bad)
7748  DB  255                                 ; .byte         0xff
7749
7750PUBLIC _sk_gather_8888_avx
7751_sk_gather_8888_avx LABEL PROC
7752  DB  65,87                               ; push          %r15
7753  DB  65,86                               ; push          %r14
7754  DB  65,84                               ; push          %r12
7755  DB  83                                  ; push          %rbx
7756  DB  72,173                              ; lods          %ds:(%rsi),%rax
7757  DB  76,139,0                            ; mov           (%rax),%r8
7758  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
7759  DB  197,249,110,80,16                   ; vmovd         0x10(%rax),%xmm2
7760  DB  197,249,112,210,0                   ; vpshufd       $0x0,%xmm2,%xmm2
7761  DB  196,226,105,64,217                  ; vpmulld       %xmm1,%xmm2,%xmm3
7762  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
7763  DB  196,226,105,64,201                  ; vpmulld       %xmm1,%xmm2,%xmm1
7764  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
7765  DB  196,227,125,25,194,1                ; vextractf128  $0x1,%ymm0,%xmm2
7766  DB  197,241,254,202                     ; vpaddd        %xmm2,%xmm1,%xmm1
7767  DB  196,225,249,126,200                 ; vmovq         %xmm1,%rax
7768  DB  65,137,193                          ; mov           %eax,%r9d
7769  DB  72,193,232,32                       ; shr           $0x20,%rax
7770  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
7771  DB  69,137,211                          ; mov           %r10d,%r11d
7772  DB  73,193,234,32                       ; shr           $0x20,%r10
7773  DB  197,225,254,192                     ; vpaddd        %xmm0,%xmm3,%xmm0
7774  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
7775  DB  65,137,222                          ; mov           %ebx,%r14d
7776  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
7777  DB  69,137,252                          ; mov           %r15d,%r12d
7778  DB  72,193,235,32                       ; shr           $0x20,%rbx
7779  DB  73,193,239,32                       ; shr           $0x20,%r15
7780  DB  196,129,121,110,4,176               ; vmovd         (%r8,%r14,4),%xmm0
7781  DB  196,195,121,34,4,152,1              ; vpinsrd       $0x1,(%r8,%rbx,4),%xmm0,%xmm0
7782  DB  196,131,121,34,4,160,2              ; vpinsrd       $0x2,(%r8,%r12,4),%xmm0,%xmm0
7783  DB  196,3,121,34,4,184,3                ; vpinsrd       $0x3,(%r8,%r15,4),%xmm0,%xmm8
7784  DB  196,129,121,110,4,136               ; vmovd         (%r8,%r9,4),%xmm0
7785  DB  196,195,121,34,4,128,1              ; vpinsrd       $0x1,(%r8,%rax,4),%xmm0,%xmm0
7786  DB  196,131,121,34,4,152,2              ; vpinsrd       $0x2,(%r8,%r11,4),%xmm0,%xmm0
7787  DB  196,131,121,34,28,144,3             ; vpinsrd       $0x3,(%r8,%r10,4),%xmm0,%xmm3
7788  DB  196,227,61,24,195,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
7789  DB  197,124,40,21,118,32,0,0            ; vmovaps       0x2076(%rip),%ymm10        # 5920 <_sk_callback_avx+0x535>
7790  DB  196,193,124,84,194                  ; vandps        %ymm10,%ymm0,%ymm0
7791  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
7792  DB  196,98,125,24,13,236,30,0,0         ; vbroadcastss  0x1eec(%rip),%ymm9        # 57a8 <_sk_callback_avx+0x3bd>
7793  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
7794  DB  196,193,113,114,208,8               ; vpsrld        $0x8,%xmm8,%xmm1
7795  DB  197,233,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm2
7796  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
7797  DB  196,193,116,84,202                  ; vandps        %ymm10,%ymm1,%ymm1
7798  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
7799  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
7800  DB  196,193,33,114,208,16               ; vpsrld        $0x10,%xmm8,%xmm11
7801  DB  197,233,114,211,16                  ; vpsrld        $0x10,%xmm3,%xmm2
7802  DB  196,227,37,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
7803  DB  196,193,108,84,210                  ; vandps        %ymm10,%ymm2,%ymm2
7804  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
7805  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
7806  DB  196,193,57,114,208,24               ; vpsrld        $0x18,%xmm8,%xmm8
7807  DB  197,225,114,211,24                  ; vpsrld        $0x18,%xmm3,%xmm3
7808  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
7809  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
7810  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
7811  DB  72,173                              ; lods          %ds:(%rsi),%rax
7812  DB  91                                  ; pop           %rbx
7813  DB  65,92                               ; pop           %r12
7814  DB  65,94                               ; pop           %r14
7815  DB  65,95                               ; pop           %r15
7816  DB  255,224                             ; jmpq          *%rax
7817
7818PUBLIC _sk_store_8888_avx
7819_sk_store_8888_avx LABEL PROC
7820  DB  72,173                              ; lods          %ds:(%rsi),%rax
7821  DB  76,139,16                           ; mov           (%rax),%r10
7822  DB  196,98,125,24,5,122,30,0,0          ; vbroadcastss  0x1e7a(%rip),%ymm8        # 57ac <_sk_callback_avx+0x3c1>
7823  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
7824  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
7825  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
7826  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
7827  DB  196,193,33,114,242,8                ; vpslld        $0x8,%xmm10,%xmm11
7828  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
7829  DB  196,193,41,114,242,8                ; vpslld        $0x8,%xmm10,%xmm10
7830  DB  196,67,37,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
7831  DB  196,65,45,86,201                    ; vorpd         %ymm9,%ymm10,%ymm9
7832  DB  196,65,108,89,208                   ; vmulps        %ymm8,%ymm2,%ymm10
7833  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
7834  DB  196,193,33,114,242,16               ; vpslld        $0x10,%xmm10,%xmm11
7835  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
7836  DB  196,193,41,114,242,16               ; vpslld        $0x10,%xmm10,%xmm10
7837  DB  196,67,37,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
7838  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
7839  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
7840  DB  196,193,33,114,240,24               ; vpslld        $0x18,%xmm8,%xmm11
7841  DB  196,67,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm8
7842  DB  196,193,57,114,240,24               ; vpslld        $0x18,%xmm8,%xmm8
7843  DB  196,67,37,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm11,%ymm8
7844  DB  196,65,45,86,192                    ; vorpd         %ymm8,%ymm10,%ymm8
7845  DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
7846  DB  72,133,201                          ; test          %rcx,%rcx
7847  DB  117,10                              ; jne           39c0 <_sk_store_8888_avx+0x9c>
7848  DB  196,65,124,17,4,186                 ; vmovups       %ymm8,(%r10,%rdi,4)
7849  DB  72,173                              ; lods          %ds:(%rsi),%rax
7850  DB  255,224                             ; jmpq          *%rax
7851  DB  65,137,200                          ; mov           %ecx,%r8d
7852  DB  65,128,224,7                        ; and           $0x7,%r8b
7853  DB  65,254,200                          ; dec           %r8b
7854  DB  65,128,248,6                        ; cmp           $0x6,%r8b
7855  DB  119,236                             ; ja            39bc <_sk_store_8888_avx+0x98>
7856  DB  69,15,182,192                       ; movzbl        %r8b,%r8d
7857  DB  76,141,13,85,0,0,0                  ; lea           0x55(%rip),%r9        # 3a30 <_sk_store_8888_avx+0x10c>
7858  DB  75,99,4,129                         ; movslq        (%r9,%r8,4),%rax
7859  DB  76,1,200                            ; add           %r9,%rax
7860  DB  255,224                             ; jmpq          *%rax
7861  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
7862  DB  196,67,121,22,76,186,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r10,%rdi,4)
7863  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
7864  DB  196,67,121,22,76,186,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r10,%rdi,4)
7865  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
7866  DB  196,65,122,17,76,186,16             ; vmovss        %xmm9,0x10(%r10,%rdi,4)
7867  DB  196,67,121,22,68,186,12,3           ; vpextrd       $0x3,%xmm8,0xc(%r10,%rdi,4)
7868  DB  196,67,121,22,68,186,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r10,%rdi,4)
7869  DB  196,67,121,22,68,186,4,1            ; vpextrd       $0x1,%xmm8,0x4(%r10,%rdi,4)
7870  DB  196,65,121,126,4,186                ; vmovd         %xmm8,(%r10,%rdi,4)
7871  DB  235,143                             ; jmp           39bc <_sk_store_8888_avx+0x98>
7872  DB  15,31,0                             ; nopl          (%rax)
7873  DB  245                                 ; cmc
7874  DB  255                                 ; (bad)
7875  DB  255                                 ; (bad)
7876  DB  255                                 ; (bad)
7877  DB  237                                 ; in            (%dx),%eax
7878  DB  255                                 ; (bad)
7879  DB  255                                 ; (bad)
7880  DB  255,229                             ; jmpq          *%rbp
7881  DB  255                                 ; (bad)
7882  DB  255                                 ; (bad)
7883  DB  255                                 ; (bad)
7884  DB  221,255                             ; (bad)
7885  DB  255                                 ; (bad)
7886  DB  255,208                             ; callq         *%rax
7887  DB  255                                 ; (bad)
7888  DB  255                                 ; (bad)
7889  DB  255,194                             ; inc           %edx
7890  DB  255                                 ; (bad)
7891  DB  255                                 ; (bad)
7892  DB  255                                 ; .byte         0xff
7893  DB  180,255                             ; mov           $0xff,%ah
7894  DB  255                                 ; (bad)
7895  DB  255                                 ; .byte         0xff
7896
7897PUBLIC _sk_load_f16_avx
7898_sk_load_f16_avx LABEL PROC
7899  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
7900  DB  72,173                              ; lods          %ds:(%rsi),%rax
7901  DB  72,139,0                            ; mov           (%rax),%rax
7902  DB  72,133,201                          ; test          %rcx,%rcx
7903  DB  197,252,17,124,36,96                ; vmovups       %ymm7,0x60(%rsp)
7904  DB  197,252,17,116,36,64                ; vmovups       %ymm6,0x40(%rsp)
7905  DB  197,252,17,108,36,32                ; vmovups       %ymm5,0x20(%rsp)
7906  DB  197,254,127,36,36                   ; vmovdqu       %ymm4,(%rsp)
7907  DB  15,133,143,2,0,0                    ; jne           3d07 <_sk_load_f16_avx+0x2bb>
7908  DB  197,121,16,4,248                    ; vmovupd       (%rax,%rdi,8),%xmm8
7909  DB  197,249,16,84,248,16                ; vmovupd       0x10(%rax,%rdi,8),%xmm2
7910  DB  197,249,16,76,248,32                ; vmovupd       0x20(%rax,%rdi,8),%xmm1
7911  DB  197,122,111,76,248,48               ; vmovdqu       0x30(%rax,%rdi,8),%xmm9
7912  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
7913  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
7914  DB  196,193,113,97,217                  ; vpunpcklwd    %xmm9,%xmm1,%xmm3
7915  DB  196,193,113,105,201                 ; vpunpckhwd    %xmm9,%xmm1,%xmm1
7916  DB  197,121,97,250                      ; vpunpcklwd    %xmm2,%xmm0,%xmm15
7917  DB  197,121,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm8
7918  DB  197,225,97,209                      ; vpunpcklwd    %xmm1,%xmm3,%xmm2
7919  DB  197,97,105,201                      ; vpunpckhwd    %xmm1,%xmm3,%xmm9
7920  DB  197,129,108,194                     ; vpunpcklqdq   %xmm2,%xmm15,%xmm0
7921  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
7922  DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
7923  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
7924  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
7925  DB  196,98,125,24,37,223,28,0,0         ; vbroadcastss  0x1cdf(%rip),%ymm12        # 57b0 <_sk_callback_avx+0x3c5>
7926  DB  196,193,124,84,204                  ; vandps        %ymm12,%ymm0,%ymm1
7927  DB  197,252,87,193                      ; vxorps        %ymm1,%ymm0,%ymm0
7928  DB  196,195,125,25,198,1                ; vextractf128  $0x1,%ymm0,%xmm14
7929  DB  196,98,121,24,29,203,28,0,0         ; vbroadcastss  0x1ccb(%rip),%xmm11        # 57b4 <_sk_callback_avx+0x3c9>
7930  DB  196,193,8,87,219                    ; vxorps        %xmm11,%xmm14,%xmm3
7931  DB  196,98,121,24,45,193,28,0,0         ; vbroadcastss  0x1cc1(%rip),%xmm13        # 57b8 <_sk_callback_avx+0x3cd>
7932  DB  197,145,102,219                     ; vpcmpgtd      %xmm3,%xmm13,%xmm3
7933  DB  196,65,120,87,211                   ; vxorps        %xmm11,%xmm0,%xmm10
7934  DB  196,65,17,102,210                   ; vpcmpgtd      %xmm10,%xmm13,%xmm10
7935  DB  196,99,45,24,211,1                  ; vinsertf128   $0x1,%xmm3,%ymm10,%ymm10
7936  DB  197,225,114,241,16                  ; vpslld        $0x10,%xmm1,%xmm3
7937  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
7938  DB  197,241,114,241,16                  ; vpslld        $0x10,%xmm1,%xmm1
7939  DB  196,227,101,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
7940  DB  197,249,114,240,13                  ; vpslld        $0xd,%xmm0,%xmm0
7941  DB  196,193,97,114,246,13               ; vpslld        $0xd,%xmm14,%xmm3
7942  DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
7943  DB  197,252,86,193                      ; vorps         %ymm1,%ymm0,%ymm0
7944  DB  196,227,125,25,193,1                ; vextractf128  $0x1,%ymm0,%xmm1
7945  DB  196,226,121,24,29,119,28,0,0        ; vbroadcastss  0x1c77(%rip),%xmm3        # 57bc <_sk_callback_avx+0x3d1>
7946  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
7947  DB  197,249,254,195                     ; vpaddd        %xmm3,%xmm0,%xmm0
7948  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
7949  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
7950  DB  196,195,125,74,198,160              ; vblendvps     %ymm10,%ymm14,%ymm0,%ymm0
7951  DB  197,129,109,202                     ; vpunpckhqdq   %xmm2,%xmm15,%xmm1
7952  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
7953  DB  197,241,105,212                     ; vpunpckhwd    %xmm4,%xmm1,%xmm2
7954  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
7955  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
7956  DB  196,193,116,84,212                  ; vandps        %ymm12,%ymm1,%ymm2
7957  DB  197,244,87,202                      ; vxorps        %ymm2,%ymm1,%ymm1
7958  DB  196,195,125,25,202,1                ; vextractf128  $0x1,%ymm1,%xmm10
7959  DB  196,193,40,87,251                   ; vxorps        %xmm11,%xmm10,%xmm7
7960  DB  197,145,102,255                     ; vpcmpgtd      %xmm7,%xmm13,%xmm7
7961  DB  196,193,112,87,243                  ; vxorps        %xmm11,%xmm1,%xmm6
7962  DB  197,145,102,246                     ; vpcmpgtd      %xmm6,%xmm13,%xmm6
7963  DB  196,227,77,24,247,1                 ; vinsertf128   $0x1,%xmm7,%ymm6,%ymm6
7964  DB  197,193,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm7
7965  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
7966  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
7967  DB  196,227,69,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm7,%ymm2
7968  DB  197,241,114,241,13                  ; vpslld        $0xd,%xmm1,%xmm1
7969  DB  196,193,65,114,242,13               ; vpslld        $0xd,%xmm10,%xmm7
7970  DB  196,227,117,24,207,1                ; vinsertf128   $0x1,%xmm7,%ymm1,%ymm1
7971  DB  197,244,86,202                      ; vorps         %ymm2,%ymm1,%ymm1
7972  DB  196,227,125,25,202,1                ; vextractf128  $0x1,%ymm1,%xmm2
7973  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
7974  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
7975  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
7976  DB  196,195,117,74,206,96               ; vblendvps     %ymm6,%ymm14,%ymm1,%ymm1
7977  DB  196,193,57,108,209                  ; vpunpcklqdq   %xmm9,%xmm8,%xmm2
7978  DB  197,233,105,244                     ; vpunpckhwd    %xmm4,%xmm2,%xmm6
7979  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
7980  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
7981  DB  196,227,109,24,214,1                ; vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
7982  DB  196,193,108,84,244                  ; vandps        %ymm12,%ymm2,%ymm6
7983  DB  197,236,87,214                      ; vxorps        %ymm6,%ymm2,%ymm2
7984  DB  196,227,125,25,215,1                ; vextractf128  $0x1,%ymm2,%xmm7
7985  DB  196,193,64,87,235                   ; vxorps        %xmm11,%xmm7,%xmm5
7986  DB  197,145,102,237                     ; vpcmpgtd      %xmm5,%xmm13,%xmm5
7987  DB  196,193,104,87,227                  ; vxorps        %xmm11,%xmm2,%xmm4
7988  DB  197,145,102,228                     ; vpcmpgtd      %xmm4,%xmm13,%xmm4
7989  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
7990  DB  197,209,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm5
7991  DB  196,227,125,25,246,1                ; vextractf128  $0x1,%ymm6,%xmm6
7992  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
7993  DB  196,227,85,24,238,1                 ; vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
7994  DB  197,233,114,242,13                  ; vpslld        $0xd,%xmm2,%xmm2
7995  DB  197,201,114,247,13                  ; vpslld        $0xd,%xmm7,%xmm6
7996  DB  196,227,109,24,214,1                ; vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
7997  DB  197,236,86,213                      ; vorps         %ymm5,%ymm2,%ymm2
7998  DB  196,227,125,25,213,1                ; vextractf128  $0x1,%ymm2,%xmm5
7999  DB  197,209,254,235                     ; vpaddd        %xmm3,%xmm5,%xmm5
8000  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
8001  DB  196,227,109,24,213,1                ; vinsertf128   $0x1,%xmm5,%ymm2,%ymm2
8002  DB  196,195,109,74,214,64               ; vblendvps     %ymm4,%ymm14,%ymm2,%ymm2
8003  DB  196,193,57,109,225                  ; vpunpckhqdq   %xmm9,%xmm8,%xmm4
8004  DB  196,193,89,105,234                  ; vpunpckhwd    %xmm10,%xmm4,%xmm5
8005  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
8006  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
8007  DB  196,193,92,84,236                   ; vandps        %ymm12,%ymm4,%ymm5
8008  DB  197,220,87,229                      ; vxorps        %ymm5,%ymm4,%ymm4
8009  DB  196,227,125,25,230,1                ; vextractf128  $0x1,%ymm4,%xmm6
8010  DB  196,193,72,87,251                   ; vxorps        %xmm11,%xmm6,%xmm7
8011  DB  197,17,102,199                      ; vpcmpgtd      %xmm7,%xmm13,%xmm8
8012  DB  196,193,88,87,251                   ; vxorps        %xmm11,%xmm4,%xmm7
8013  DB  197,145,102,255                     ; vpcmpgtd      %xmm7,%xmm13,%xmm7
8014  DB  196,195,69,24,248,1                 ; vinsertf128   $0x1,%xmm8,%ymm7,%ymm7
8015  DB  197,185,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm8
8016  DB  196,227,125,25,237,1                ; vextractf128  $0x1,%ymm5,%xmm5
8017  DB  197,209,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm5
8018  DB  196,227,61,24,237,1                 ; vinsertf128   $0x1,%xmm5,%ymm8,%ymm5
8019  DB  197,217,114,244,13                  ; vpslld        $0xd,%xmm4,%xmm4
8020  DB  197,201,114,246,13                  ; vpslld        $0xd,%xmm6,%xmm6
8021  DB  196,227,93,24,230,1                 ; vinsertf128   $0x1,%xmm6,%ymm4,%ymm4
8022  DB  197,220,86,229                      ; vorps         %ymm5,%ymm4,%ymm4
8023  DB  196,227,125,25,229,1                ; vextractf128  $0x1,%ymm4,%xmm5
8024  DB  197,209,254,235                     ; vpaddd        %xmm3,%xmm5,%xmm5
8025  DB  197,217,254,219                     ; vpaddd        %xmm3,%xmm4,%xmm3
8026  DB  196,227,101,24,221,1                ; vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
8027  DB  196,195,101,74,222,112              ; vblendvps     %ymm7,%ymm14,%ymm3,%ymm3
8028  DB  72,173                              ; lods          %ds:(%rsi),%rax
8029  DB  197,252,16,36,36                    ; vmovups       (%rsp),%ymm4
8030  DB  197,252,16,108,36,32                ; vmovups       0x20(%rsp),%ymm5
8031  DB  197,252,16,116,36,64                ; vmovups       0x40(%rsp),%ymm6
8032  DB  197,252,16,124,36,96                ; vmovups       0x60(%rsp),%ymm7
8033  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
8034  DB  255,224                             ; jmpq          *%rax
8035  DB  197,123,16,4,248                    ; vmovsd        (%rax,%rdi,8),%xmm8
8036  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
8037  DB  72,131,249,1                        ; cmp           $0x1,%rcx
8038  DB  116,79                              ; je            3d66 <_sk_load_f16_avx+0x31a>
8039  DB  197,57,22,68,248,8                  ; vmovhpd       0x8(%rax,%rdi,8),%xmm8,%xmm8
8040  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8041  DB  114,67                              ; jb            3d66 <_sk_load_f16_avx+0x31a>
8042  DB  197,251,16,84,248,16                ; vmovsd        0x10(%rax,%rdi,8),%xmm2
8043  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8044  DB  116,68                              ; je            3d73 <_sk_load_f16_avx+0x327>
8045  DB  197,233,22,84,248,24                ; vmovhpd       0x18(%rax,%rdi,8),%xmm2,%xmm2
8046  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8047  DB  114,56                              ; jb            3d73 <_sk_load_f16_avx+0x327>
8048  DB  197,251,16,76,248,32                ; vmovsd        0x20(%rax,%rdi,8),%xmm1
8049  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8050  DB  15,132,68,253,255,255               ; je            3a8f <_sk_load_f16_avx+0x43>
8051  DB  197,241,22,76,248,40                ; vmovhpd       0x28(%rax,%rdi,8),%xmm1,%xmm1
8052  DB  72,131,249,7                        ; cmp           $0x7,%rcx
8053  DB  15,130,52,253,255,255               ; jb            3a8f <_sk_load_f16_avx+0x43>
8054  DB  197,122,126,76,248,48               ; vmovq         0x30(%rax,%rdi,8),%xmm9
8055  DB  233,41,253,255,255                  ; jmpq          3a8f <_sk_load_f16_avx+0x43>
8056  DB  197,241,87,201                      ; vxorpd        %xmm1,%xmm1,%xmm1
8057  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
8058  DB  233,28,253,255,255                  ; jmpq          3a8f <_sk_load_f16_avx+0x43>
8059  DB  197,241,87,201                      ; vxorpd        %xmm1,%xmm1,%xmm1
8060  DB  233,19,253,255,255                  ; jmpq          3a8f <_sk_load_f16_avx+0x43>
8061
8062PUBLIC _sk_gather_f16_avx
8063_sk_gather_f16_avx LABEL PROC
8064  DB  65,87                               ; push          %r15
8065  DB  65,86                               ; push          %r14
8066  DB  65,84                               ; push          %r12
8067  DB  83                                  ; push          %rbx
8068  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
8069  DB  197,252,17,124,36,96                ; vmovups       %ymm7,0x60(%rsp)
8070  DB  197,252,17,116,36,64                ; vmovups       %ymm6,0x40(%rsp)
8071  DB  197,252,17,108,36,32                ; vmovups       %ymm5,0x20(%rsp)
8072  DB  197,254,127,36,36                   ; vmovdqu       %ymm4,(%rsp)
8073  DB  72,173                              ; lods          %ds:(%rsi),%rax
8074  DB  76,139,0                            ; mov           (%rax),%r8
8075  DB  197,254,91,209                      ; vcvttps2dq    %ymm1,%ymm2
8076  DB  197,249,110,72,16                   ; vmovd         0x10(%rax),%xmm1
8077  DB  197,249,112,217,0                   ; vpshufd       $0x0,%xmm1,%xmm3
8078  DB  196,226,97,64,202                   ; vpmulld       %xmm2,%xmm3,%xmm1
8079  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
8080  DB  196,226,97,64,210                   ; vpmulld       %xmm2,%xmm3,%xmm2
8081  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
8082  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
8083  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
8084  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
8085  DB  65,137,193                          ; mov           %eax,%r9d
8086  DB  72,193,232,32                       ; shr           $0x20,%rax
8087  DB  196,193,249,126,210                 ; vmovq         %xmm2,%r10
8088  DB  69,137,211                          ; mov           %r10d,%r11d
8089  DB  73,193,234,32                       ; shr           $0x20,%r10
8090  DB  197,241,254,192                     ; vpaddd        %xmm0,%xmm1,%xmm0
8091  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
8092  DB  65,137,222                          ; mov           %ebx,%r14d
8093  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
8094  DB  69,137,252                          ; mov           %r15d,%r12d
8095  DB  73,193,239,32                       ; shr           $0x20,%r15
8096  DB  72,193,235,32                       ; shr           $0x20,%rbx
8097  DB  196,193,122,126,4,216               ; vmovq         (%r8,%rbx,8),%xmm0
8098  DB  196,129,122,126,12,240              ; vmovq         (%r8,%r14,8),%xmm1
8099  DB  197,113,108,200                     ; vpunpcklqdq   %xmm0,%xmm1,%xmm9
8100  DB  196,129,122,126,12,248              ; vmovq         (%r8,%r15,8),%xmm1
8101  DB  196,129,122,126,20,224              ; vmovq         (%r8,%r12,8),%xmm2
8102  DB  197,233,108,201                     ; vpunpcklqdq   %xmm1,%xmm2,%xmm1
8103  DB  196,129,122,126,20,208              ; vmovq         (%r8,%r10,8),%xmm2
8104  DB  196,129,122,126,28,216              ; vmovq         (%r8,%r11,8),%xmm3
8105  DB  197,97,108,210                      ; vpunpcklqdq   %xmm2,%xmm3,%xmm10
8106  DB  196,65,122,126,4,192                ; vmovq         (%r8,%rax,8),%xmm8
8107  DB  196,129,122,126,28,200              ; vmovq         (%r8,%r9,8),%xmm3
8108  DB  196,193,97,108,216                  ; vpunpcklqdq   %xmm8,%xmm3,%xmm3
8109  DB  197,177,97,193                      ; vpunpcklwd    %xmm1,%xmm9,%xmm0
8110  DB  197,177,105,201                     ; vpunpckhwd    %xmm1,%xmm9,%xmm1
8111  DB  197,169,97,211                      ; vpunpcklwd    %xmm3,%xmm10,%xmm2
8112  DB  197,169,105,219                     ; vpunpckhwd    %xmm3,%xmm10,%xmm3
8113  DB  197,121,97,249                      ; vpunpcklwd    %xmm1,%xmm0,%xmm15
8114  DB  197,121,105,193                     ; vpunpckhwd    %xmm1,%xmm0,%xmm8
8115  DB  197,233,97,203                      ; vpunpcklwd    %xmm3,%xmm2,%xmm1
8116  DB  197,105,105,203                     ; vpunpckhwd    %xmm3,%xmm2,%xmm9
8117  DB  197,129,108,193                     ; vpunpcklqdq   %xmm1,%xmm15,%xmm0
8118  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
8119  DB  197,249,105,210                     ; vpunpckhwd    %xmm2,%xmm0,%xmm2
8120  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
8121  DB  196,227,125,24,194,1                ; vinsertf128   $0x1,%xmm2,%ymm0,%ymm0
8122  DB  196,98,125,24,37,55,25,0,0          ; vbroadcastss  0x1937(%rip),%ymm12        # 57c0 <_sk_callback_avx+0x3d5>
8123  DB  196,193,124,84,212                  ; vandps        %ymm12,%ymm0,%ymm2
8124  DB  197,252,87,194                      ; vxorps        %ymm2,%ymm0,%ymm0
8125  DB  196,195,125,25,198,1                ; vextractf128  $0x1,%ymm0,%xmm14
8126  DB  196,98,121,24,29,35,25,0,0          ; vbroadcastss  0x1923(%rip),%xmm11        # 57c4 <_sk_callback_avx+0x3d9>
8127  DB  196,193,8,87,219                    ; vxorps        %xmm11,%xmm14,%xmm3
8128  DB  196,98,121,24,45,25,25,0,0          ; vbroadcastss  0x1919(%rip),%xmm13        # 57c8 <_sk_callback_avx+0x3dd>
8129  DB  197,145,102,219                     ; vpcmpgtd      %xmm3,%xmm13,%xmm3
8130  DB  196,65,120,87,211                   ; vxorps        %xmm11,%xmm0,%xmm10
8131  DB  196,65,17,102,210                   ; vpcmpgtd      %xmm10,%xmm13,%xmm10
8132  DB  196,99,45,24,211,1                  ; vinsertf128   $0x1,%xmm3,%ymm10,%ymm10
8133  DB  197,225,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm3
8134  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
8135  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
8136  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
8137  DB  197,249,114,240,13                  ; vpslld        $0xd,%xmm0,%xmm0
8138  DB  196,193,97,114,246,13               ; vpslld        $0xd,%xmm14,%xmm3
8139  DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
8140  DB  197,252,86,194                      ; vorps         %ymm2,%ymm0,%ymm0
8141  DB  196,227,125,25,194,1                ; vextractf128  $0x1,%ymm0,%xmm2
8142  DB  196,226,121,24,29,207,24,0,0        ; vbroadcastss  0x18cf(%rip),%xmm3        # 57cc <_sk_callback_avx+0x3e1>
8143  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
8144  DB  197,249,254,195                     ; vpaddd        %xmm3,%xmm0,%xmm0
8145  DB  196,227,125,24,194,1                ; vinsertf128   $0x1,%xmm2,%ymm0,%ymm0
8146  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
8147  DB  196,195,125,74,198,160              ; vblendvps     %ymm10,%ymm14,%ymm0,%ymm0
8148  DB  197,129,109,201                     ; vpunpckhqdq   %xmm1,%xmm15,%xmm1
8149  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
8150  DB  197,241,105,212                     ; vpunpckhwd    %xmm4,%xmm1,%xmm2
8151  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
8152  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
8153  DB  196,193,116,84,212                  ; vandps        %ymm12,%ymm1,%ymm2
8154  DB  197,244,87,202                      ; vxorps        %ymm2,%ymm1,%ymm1
8155  DB  196,195,125,25,202,1                ; vextractf128  $0x1,%ymm1,%xmm10
8156  DB  196,193,40,87,251                   ; vxorps        %xmm11,%xmm10,%xmm7
8157  DB  197,145,102,255                     ; vpcmpgtd      %xmm7,%xmm13,%xmm7
8158  DB  196,193,112,87,243                  ; vxorps        %xmm11,%xmm1,%xmm6
8159  DB  197,145,102,246                     ; vpcmpgtd      %xmm6,%xmm13,%xmm6
8160  DB  196,227,77,24,247,1                 ; vinsertf128   $0x1,%xmm7,%ymm6,%ymm6
8161  DB  197,193,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm7
8162  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
8163  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
8164  DB  196,227,69,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm7,%ymm2
8165  DB  197,241,114,241,13                  ; vpslld        $0xd,%xmm1,%xmm1
8166  DB  196,193,65,114,242,13               ; vpslld        $0xd,%xmm10,%xmm7
8167  DB  196,227,117,24,207,1                ; vinsertf128   $0x1,%xmm7,%ymm1,%ymm1
8168  DB  197,244,86,202                      ; vorps         %ymm2,%ymm1,%ymm1
8169  DB  196,227,125,25,202,1                ; vextractf128  $0x1,%ymm1,%xmm2
8170  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
8171  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
8172  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
8173  DB  196,195,117,74,206,96               ; vblendvps     %ymm6,%ymm14,%ymm1,%ymm1
8174  DB  196,193,57,108,209                  ; vpunpcklqdq   %xmm9,%xmm8,%xmm2
8175  DB  197,233,105,244                     ; vpunpckhwd    %xmm4,%xmm2,%xmm6
8176  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
8177  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
8178  DB  196,227,109,24,214,1                ; vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
8179  DB  196,193,108,84,244                  ; vandps        %ymm12,%ymm2,%ymm6
8180  DB  197,236,87,214                      ; vxorps        %ymm6,%ymm2,%ymm2
8181  DB  196,227,125,25,215,1                ; vextractf128  $0x1,%ymm2,%xmm7
8182  DB  196,193,64,87,235                   ; vxorps        %xmm11,%xmm7,%xmm5
8183  DB  197,145,102,237                     ; vpcmpgtd      %xmm5,%xmm13,%xmm5
8184  DB  196,193,104,87,227                  ; vxorps        %xmm11,%xmm2,%xmm4
8185  DB  197,145,102,228                     ; vpcmpgtd      %xmm4,%xmm13,%xmm4
8186  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
8187  DB  197,209,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm5
8188  DB  196,227,125,25,246,1                ; vextractf128  $0x1,%ymm6,%xmm6
8189  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
8190  DB  196,227,85,24,238,1                 ; vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
8191  DB  197,233,114,242,13                  ; vpslld        $0xd,%xmm2,%xmm2
8192  DB  197,201,114,247,13                  ; vpslld        $0xd,%xmm7,%xmm6
8193  DB  196,227,109,24,214,1                ; vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
8194  DB  197,236,86,213                      ; vorps         %ymm5,%ymm2,%ymm2
8195  DB  196,227,125,25,213,1                ; vextractf128  $0x1,%ymm2,%xmm5
8196  DB  197,209,254,235                     ; vpaddd        %xmm3,%xmm5,%xmm5
8197  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
8198  DB  196,227,109,24,213,1                ; vinsertf128   $0x1,%xmm5,%ymm2,%ymm2
8199  DB  196,195,109,74,214,64               ; vblendvps     %ymm4,%ymm14,%ymm2,%ymm2
8200  DB  196,193,57,109,225                  ; vpunpckhqdq   %xmm9,%xmm8,%xmm4
8201  DB  196,193,89,105,234                  ; vpunpckhwd    %xmm10,%xmm4,%xmm5
8202  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
8203  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
8204  DB  196,193,92,84,236                   ; vandps        %ymm12,%ymm4,%ymm5
8205  DB  197,220,87,229                      ; vxorps        %ymm5,%ymm4,%ymm4
8206  DB  196,227,125,25,230,1                ; vextractf128  $0x1,%ymm4,%xmm6
8207  DB  196,193,72,87,251                   ; vxorps        %xmm11,%xmm6,%xmm7
8208  DB  197,17,102,199                      ; vpcmpgtd      %xmm7,%xmm13,%xmm8
8209  DB  196,193,88,87,251                   ; vxorps        %xmm11,%xmm4,%xmm7
8210  DB  197,145,102,255                     ; vpcmpgtd      %xmm7,%xmm13,%xmm7
8211  DB  196,195,69,24,248,1                 ; vinsertf128   $0x1,%xmm8,%ymm7,%ymm7
8212  DB  197,185,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm8
8213  DB  196,227,125,25,237,1                ; vextractf128  $0x1,%ymm5,%xmm5
8214  DB  197,209,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm5
8215  DB  196,227,61,24,237,1                 ; vinsertf128   $0x1,%xmm5,%ymm8,%ymm5
8216  DB  197,217,114,244,13                  ; vpslld        $0xd,%xmm4,%xmm4
8217  DB  197,201,114,246,13                  ; vpslld        $0xd,%xmm6,%xmm6
8218  DB  196,227,93,24,230,1                 ; vinsertf128   $0x1,%xmm6,%ymm4,%ymm4
8219  DB  197,220,86,229                      ; vorps         %ymm5,%ymm4,%ymm4
8220  DB  196,227,125,25,229,1                ; vextractf128  $0x1,%ymm4,%xmm5
8221  DB  197,209,254,235                     ; vpaddd        %xmm3,%xmm5,%xmm5
8222  DB  197,217,254,219                     ; vpaddd        %xmm3,%xmm4,%xmm3
8223  DB  196,227,101,24,221,1                ; vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
8224  DB  196,195,101,74,222,112              ; vblendvps     %ymm7,%ymm14,%ymm3,%ymm3
8225  DB  72,173                              ; lods          %ds:(%rsi),%rax
8226  DB  197,252,16,36,36                    ; vmovups       (%rsp),%ymm4
8227  DB  197,252,16,108,36,32                ; vmovups       0x20(%rsp),%ymm5
8228  DB  197,252,16,116,36,64                ; vmovups       0x40(%rsp),%ymm6
8229  DB  197,252,16,124,36,96                ; vmovups       0x60(%rsp),%ymm7
8230  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
8231  DB  91                                  ; pop           %rbx
8232  DB  65,92                               ; pop           %r12
8233  DB  65,94                               ; pop           %r14
8234  DB  65,95                               ; pop           %r15
8235  DB  255,224                             ; jmpq          *%rax
8236
8237PUBLIC _sk_store_f16_avx
8238_sk_store_f16_avx LABEL PROC
8239  DB  72,129,236,216,0,0,0                ; sub           $0xd8,%rsp
8240  DB  197,252,17,188,36,160,0,0,0         ; vmovups       %ymm7,0xa0(%rsp)
8241  DB  197,252,17,180,36,128,0,0,0         ; vmovups       %ymm6,0x80(%rsp)
8242  DB  197,252,17,108,36,96                ; vmovups       %ymm5,0x60(%rsp)
8243  DB  197,252,17,100,36,64                ; vmovups       %ymm4,0x40(%rsp)
8244  DB  196,98,125,24,13,220,22,0,0         ; vbroadcastss  0x16dc(%rip),%ymm9        # 57d0 <_sk_callback_avx+0x3e5>
8245  DB  196,65,124,84,209                   ; vandps        %ymm9,%ymm0,%ymm10
8246  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
8247  DB  196,65,124,87,218                   ; vxorps        %ymm10,%ymm0,%ymm11
8248  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
8249  DB  196,98,121,24,5,194,22,0,0          ; vbroadcastss  0x16c2(%rip),%xmm8        # 57d4 <_sk_callback_avx+0x3e9>
8250  DB  196,65,57,102,236                   ; vpcmpgtd      %xmm12,%xmm8,%xmm13
8251  DB  196,65,57,102,243                   ; vpcmpgtd      %xmm11,%xmm8,%xmm14
8252  DB  196,67,13,24,237,1                  ; vinsertf128   $0x1,%xmm13,%ymm14,%ymm13
8253  DB  196,193,9,114,210,16                ; vpsrld        $0x10,%xmm10,%xmm14
8254  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
8255  DB  196,193,41,114,210,16               ; vpsrld        $0x10,%xmm10,%xmm10
8256  DB  196,67,13,24,242,1                  ; vinsertf128   $0x1,%xmm10,%ymm14,%ymm14
8257  DB  196,193,33,114,211,13               ; vpsrld        $0xd,%xmm11,%xmm11
8258  DB  196,193,25,114,212,13               ; vpsrld        $0xd,%xmm12,%xmm12
8259  DB  196,98,125,24,21,137,22,0,0         ; vbroadcastss  0x1689(%rip),%ymm10        # 57d8 <_sk_callback_avx+0x3ed>
8260  DB  196,65,12,86,242                    ; vorps         %ymm10,%ymm14,%ymm14
8261  DB  196,67,125,25,247,1                 ; vextractf128  $0x1,%ymm14,%xmm15
8262  DB  196,65,1,254,228                    ; vpaddd        %xmm12,%xmm15,%xmm12
8263  DB  196,65,9,254,219                    ; vpaddd        %xmm11,%xmm14,%xmm11
8264  DB  196,67,37,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm11,%ymm12
8265  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
8266  DB  196,99,29,74,224,208                ; vblendvps     %ymm13,%ymm0,%ymm12,%ymm12
8267  DB  196,65,116,84,233                   ; vandps        %ymm9,%ymm1,%ymm13
8268  DB  197,252,17,76,36,32                 ; vmovups       %ymm1,0x20(%rsp)
8269  DB  196,65,116,87,245                   ; vxorps        %ymm13,%ymm1,%ymm14
8270  DB  196,67,125,25,247,1                 ; vextractf128  $0x1,%ymm14,%xmm15
8271  DB  196,193,57,102,255                  ; vpcmpgtd      %xmm15,%xmm8,%xmm7
8272  DB  196,65,57,102,222                   ; vpcmpgtd      %xmm14,%xmm8,%xmm11
8273  DB  196,227,37,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm11,%ymm7
8274  DB  196,193,33,114,213,16               ; vpsrld        $0x10,%xmm13,%xmm11
8275  DB  196,99,125,25,238,1                 ; vextractf128  $0x1,%ymm13,%xmm6
8276  DB  197,201,114,214,16                  ; vpsrld        $0x10,%xmm6,%xmm6
8277  DB  196,227,37,24,246,1                 ; vinsertf128   $0x1,%xmm6,%ymm11,%ymm6
8278  DB  196,193,33,114,215,13               ; vpsrld        $0xd,%xmm15,%xmm11
8279  DB  196,193,76,86,242                   ; vorps         %ymm10,%ymm6,%ymm6
8280  DB  196,227,125,25,245,1                ; vextractf128  $0x1,%ymm6,%xmm5
8281  DB  196,193,81,254,235                  ; vpaddd        %xmm11,%xmm5,%xmm5
8282  DB  196,193,89,114,214,13               ; vpsrld        $0xd,%xmm14,%xmm4
8283  DB  197,201,254,228                     ; vpaddd        %xmm4,%xmm6,%xmm4
8284  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
8285  DB  196,99,93,74,232,112                ; vblendvps     %ymm7,%ymm0,%ymm4,%ymm13
8286  DB  196,193,108,84,225                  ; vandps        %ymm9,%ymm2,%ymm4
8287  DB  197,236,87,236                      ; vxorps        %ymm4,%ymm2,%ymm5
8288  DB  196,227,125,25,238,1                ; vextractf128  $0x1,%ymm5,%xmm6
8289  DB  197,185,102,254                     ; vpcmpgtd      %xmm6,%xmm8,%xmm7
8290  DB  197,57,102,221                      ; vpcmpgtd      %xmm5,%xmm8,%xmm11
8291  DB  196,227,37,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm11,%ymm7
8292  DB  197,161,114,212,16                  ; vpsrld        $0x10,%xmm4,%xmm11
8293  DB  196,227,125,25,228,1                ; vextractf128  $0x1,%ymm4,%xmm4
8294  DB  197,217,114,212,16                  ; vpsrld        $0x10,%xmm4,%xmm4
8295  DB  196,227,37,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm11,%ymm4
8296  DB  197,201,114,214,13                  ; vpsrld        $0xd,%xmm6,%xmm6
8297  DB  196,193,92,86,226                   ; vorps         %ymm10,%ymm4,%ymm4
8298  DB  196,227,125,25,225,1                ; vextractf128  $0x1,%ymm4,%xmm1
8299  DB  197,241,254,206                     ; vpaddd        %xmm6,%xmm1,%xmm1
8300  DB  197,209,114,213,13                  ; vpsrld        $0xd,%xmm5,%xmm5
8301  DB  197,217,254,229                     ; vpaddd        %xmm5,%xmm4,%xmm4
8302  DB  196,227,93,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm4,%ymm1
8303  DB  196,99,117,74,216,112               ; vblendvps     %ymm7,%ymm0,%ymm1,%ymm11
8304  DB  196,193,100,84,225                  ; vandps        %ymm9,%ymm3,%ymm4
8305  DB  197,228,87,236                      ; vxorps        %ymm4,%ymm3,%ymm5
8306  DB  196,227,125,25,238,1                ; vextractf128  $0x1,%ymm5,%xmm6
8307  DB  197,185,102,254                     ; vpcmpgtd      %xmm6,%xmm8,%xmm7
8308  DB  197,57,102,197                      ; vpcmpgtd      %xmm5,%xmm8,%xmm8
8309  DB  196,227,61,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm8,%ymm7
8310  DB  197,185,114,212,16                  ; vpsrld        $0x10,%xmm4,%xmm8
8311  DB  196,227,125,25,228,1                ; vextractf128  $0x1,%ymm4,%xmm4
8312  DB  197,217,114,212,16                  ; vpsrld        $0x10,%xmm4,%xmm4
8313  DB  196,227,61,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm8,%ymm4
8314  DB  196,193,92,86,226                   ; vorps         %ymm10,%ymm4,%ymm4
8315  DB  197,201,114,214,13                  ; vpsrld        $0xd,%xmm6,%xmm6
8316  DB  196,227,125,25,225,1                ; vextractf128  $0x1,%ymm4,%xmm1
8317  DB  197,241,254,206                     ; vpaddd        %xmm6,%xmm1,%xmm1
8318  DB  197,209,114,213,13                  ; vpsrld        $0xd,%xmm5,%xmm5
8319  DB  197,217,254,229                     ; vpaddd        %xmm5,%xmm4,%xmm4
8320  DB  196,227,93,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm4,%ymm1
8321  DB  196,227,117,74,200,112              ; vblendvps     %ymm7,%ymm0,%ymm1,%ymm1
8322  DB  196,99,125,25,224,1                 ; vextractf128  $0x1,%ymm12,%xmm0
8323  DB  196,226,25,43,192                   ; vpackusdw     %xmm0,%xmm12,%xmm0
8324  DB  196,99,125,25,236,1                 ; vextractf128  $0x1,%ymm13,%xmm4
8325  DB  196,226,17,43,228                   ; vpackusdw     %xmm4,%xmm13,%xmm4
8326  DB  196,99,125,25,221,1                 ; vextractf128  $0x1,%ymm11,%xmm5
8327  DB  196,226,33,43,245                   ; vpackusdw     %xmm5,%xmm11,%xmm6
8328  DB  196,227,125,25,205,1                ; vextractf128  $0x1,%ymm1,%xmm5
8329  DB  196,226,113,43,205                  ; vpackusdw     %xmm5,%xmm1,%xmm1
8330  DB  197,249,97,236                      ; vpunpcklwd    %xmm4,%xmm0,%xmm5
8331  DB  197,249,105,196                     ; vpunpckhwd    %xmm4,%xmm0,%xmm0
8332  DB  197,201,97,225                      ; vpunpcklwd    %xmm1,%xmm6,%xmm4
8333  DB  197,201,105,201                     ; vpunpckhwd    %xmm1,%xmm6,%xmm1
8334  DB  197,81,98,220                       ; vpunpckldq    %xmm4,%xmm5,%xmm11
8335  DB  197,81,106,212                      ; vpunpckhdq    %xmm4,%xmm5,%xmm10
8336  DB  197,121,98,201                      ; vpunpckldq    %xmm1,%xmm0,%xmm9
8337  DB  197,121,106,193                     ; vpunpckhdq    %xmm1,%xmm0,%xmm8
8338  DB  72,173                              ; lods          %ds:(%rsi),%rax
8339  DB  72,139,0                            ; mov           (%rax),%rax
8340  DB  72,133,201                          ; test          %rcx,%rcx
8341  DB  117,75                              ; jne           4336 <_sk_store_f16_avx+0x270>
8342  DB  197,120,17,28,248                   ; vmovups       %xmm11,(%rax,%rdi,8)
8343  DB  197,120,17,84,248,16                ; vmovups       %xmm10,0x10(%rax,%rdi,8)
8344  DB  197,120,17,76,248,32                ; vmovups       %xmm9,0x20(%rax,%rdi,8)
8345  DB  197,122,127,68,248,48               ; vmovdqu       %xmm8,0x30(%rax,%rdi,8)
8346  DB  72,173                              ; lods          %ds:(%rsi),%rax
8347  DB  197,252,16,4,36                     ; vmovups       (%rsp),%ymm0
8348  DB  197,252,16,76,36,32                 ; vmovups       0x20(%rsp),%ymm1
8349  DB  197,252,16,100,36,64                ; vmovups       0x40(%rsp),%ymm4
8350  DB  197,252,16,108,36,96                ; vmovups       0x60(%rsp),%ymm5
8351  DB  197,252,16,180,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm6
8352  DB  197,252,16,188,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm7
8353  DB  72,129,196,216,0,0,0                ; add           $0xd8,%rsp
8354  DB  255,224                             ; jmpq          *%rax
8355  DB  197,121,214,28,248                  ; vmovq         %xmm11,(%rax,%rdi,8)
8356  DB  72,131,249,1                        ; cmp           $0x1,%rcx
8357  DB  116,193                             ; je            4302 <_sk_store_f16_avx+0x23c>
8358  DB  197,121,23,92,248,8                 ; vmovhpd       %xmm11,0x8(%rax,%rdi,8)
8359  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8360  DB  114,181                             ; jb            4302 <_sk_store_f16_avx+0x23c>
8361  DB  197,121,214,84,248,16               ; vmovq         %xmm10,0x10(%rax,%rdi,8)
8362  DB  116,173                             ; je            4302 <_sk_store_f16_avx+0x23c>
8363  DB  197,121,23,84,248,24                ; vmovhpd       %xmm10,0x18(%rax,%rdi,8)
8364  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8365  DB  114,161                             ; jb            4302 <_sk_store_f16_avx+0x23c>
8366  DB  197,121,214,76,248,32               ; vmovq         %xmm9,0x20(%rax,%rdi,8)
8367  DB  116,153                             ; je            4302 <_sk_store_f16_avx+0x23c>
8368  DB  197,121,23,76,248,40                ; vmovhpd       %xmm9,0x28(%rax,%rdi,8)
8369  DB  72,131,249,7                        ; cmp           $0x7,%rcx
8370  DB  114,141                             ; jb            4302 <_sk_store_f16_avx+0x23c>
8371  DB  197,121,214,68,248,48               ; vmovq         %xmm8,0x30(%rax,%rdi,8)
8372  DB  235,133                             ; jmp           4302 <_sk_store_f16_avx+0x23c>
8373
8374PUBLIC _sk_load_u16_be_avx
8375_sk_load_u16_be_avx LABEL PROC
8376  DB  72,173                              ; lods          %ds:(%rsi),%rax
8377  DB  76,139,0                            ; mov           (%rax),%r8
8378  DB  72,141,4,189,0,0,0,0                ; lea           0x0(,%rdi,4),%rax
8379  DB  72,133,201                          ; test          %rcx,%rcx
8380  DB  15,133,253,0,0,0                    ; jne           4490 <_sk_load_u16_be_avx+0x113>
8381  DB  196,65,121,16,4,64                  ; vmovupd       (%r8,%rax,2),%xmm8
8382  DB  196,193,121,16,84,64,16             ; vmovupd       0x10(%r8,%rax,2),%xmm2
8383  DB  196,193,121,16,92,64,32             ; vmovupd       0x20(%r8,%rax,2),%xmm3
8384  DB  196,65,122,111,76,64,48             ; vmovdqu       0x30(%r8,%rax,2),%xmm9
8385  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
8386  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
8387  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
8388  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
8389  DB  197,121,97,202                      ; vpunpcklwd    %xmm2,%xmm0,%xmm9
8390  DB  197,121,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm8
8391  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
8392  DB  197,113,105,227                     ; vpunpckhwd    %xmm3,%xmm1,%xmm12
8393  DB  197,177,108,194                     ; vpunpcklqdq   %xmm2,%xmm9,%xmm0
8394  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
8395  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
8396  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
8397  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
8398  DB  196,193,121,105,202                 ; vpunpckhwd    %xmm10,%xmm0,%xmm1
8399  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
8400  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
8401  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
8402  DB  196,98,125,24,29,216,19,0,0         ; vbroadcastss  0x13d8(%rip),%ymm11        # 57dc <_sk_callback_avx+0x3f1>
8403  DB  196,193,124,89,195                  ; vmulps        %ymm11,%ymm0,%ymm0
8404  DB  197,177,109,202                     ; vpunpckhqdq   %xmm2,%xmm9,%xmm1
8405  DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
8406  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
8407  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
8408  DB  196,193,113,105,210                 ; vpunpckhwd    %xmm10,%xmm1,%xmm2
8409  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
8410  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
8411  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
8412  DB  196,193,116,89,203                  ; vmulps        %ymm11,%ymm1,%ymm1
8413  DB  196,193,57,108,212                  ; vpunpcklqdq   %xmm12,%xmm8,%xmm2
8414  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
8415  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
8416  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
8417  DB  196,193,105,105,218                 ; vpunpckhwd    %xmm10,%xmm2,%xmm3
8418  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
8419  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
8420  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
8421  DB  196,193,108,89,211                  ; vmulps        %ymm11,%ymm2,%ymm2
8422  DB  196,193,57,109,220                  ; vpunpckhqdq   %xmm12,%xmm8,%xmm3
8423  DB  197,185,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm8
8424  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
8425  DB  197,185,235,219                     ; vpor          %xmm3,%xmm8,%xmm3
8426  DB  196,65,97,105,194                   ; vpunpckhwd    %xmm10,%xmm3,%xmm8
8427  DB  196,226,121,51,219                  ; vpmovzxwd     %xmm3,%xmm3
8428  DB  196,195,101,24,216,1                ; vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
8429  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
8430  DB  196,193,100,89,219                  ; vmulps        %ymm11,%ymm3,%ymm3
8431  DB  72,173                              ; lods          %ds:(%rsi),%rax
8432  DB  255,224                             ; jmpq          *%rax
8433  DB  196,65,123,16,4,64                  ; vmovsd        (%r8,%rax,2),%xmm8
8434  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
8435  DB  72,131,249,1                        ; cmp           $0x1,%rcx
8436  DB  116,85                              ; je            44f6 <_sk_load_u16_be_avx+0x179>
8437  DB  196,65,57,22,68,64,8                ; vmovhpd       0x8(%r8,%rax,2),%xmm8,%xmm8
8438  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8439  DB  114,72                              ; jb            44f6 <_sk_load_u16_be_avx+0x179>
8440  DB  196,193,123,16,84,64,16             ; vmovsd        0x10(%r8,%rax,2),%xmm2
8441  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8442  DB  116,72                              ; je            4503 <_sk_load_u16_be_avx+0x186>
8443  DB  196,193,105,22,84,64,24             ; vmovhpd       0x18(%r8,%rax,2),%xmm2,%xmm2
8444  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8445  DB  114,59                              ; jb            4503 <_sk_load_u16_be_avx+0x186>
8446  DB  196,193,123,16,92,64,32             ; vmovsd        0x20(%r8,%rax,2),%xmm3
8447  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8448  DB  15,132,213,254,255,255              ; je            43ae <_sk_load_u16_be_avx+0x31>
8449  DB  196,193,97,22,92,64,40              ; vmovhpd       0x28(%r8,%rax,2),%xmm3,%xmm3
8450  DB  72,131,249,7                        ; cmp           $0x7,%rcx
8451  DB  15,130,196,254,255,255              ; jb            43ae <_sk_load_u16_be_avx+0x31>
8452  DB  196,65,122,126,76,64,48             ; vmovq         0x30(%r8,%rax,2),%xmm9
8453  DB  233,184,254,255,255                 ; jmpq          43ae <_sk_load_u16_be_avx+0x31>
8454  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
8455  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
8456  DB  233,171,254,255,255                 ; jmpq          43ae <_sk_load_u16_be_avx+0x31>
8457  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
8458  DB  233,162,254,255,255                 ; jmpq          43ae <_sk_load_u16_be_avx+0x31>
8459
8460PUBLIC _sk_load_rgb_u16_be_avx
8461_sk_load_rgb_u16_be_avx LABEL PROC
8462  DB  72,173                              ; lods          %ds:(%rsi),%rax
8463  DB  76,139,0                            ; mov           (%rax),%r8
8464  DB  72,141,4,127                        ; lea           (%rdi,%rdi,2),%rax
8465  DB  72,133,201                          ; test          %rcx,%rcx
8466  DB  15,133,243,0,0,0                    ; jne           4611 <_sk_load_rgb_u16_be_avx+0x105>
8467  DB  196,193,122,111,4,64                ; vmovdqu       (%r8,%rax,2),%xmm0
8468  DB  196,193,122,111,84,64,12            ; vmovdqu       0xc(%r8,%rax,2),%xmm2
8469  DB  196,193,122,111,76,64,24            ; vmovdqu       0x18(%r8,%rax,2),%xmm1
8470  DB  196,193,122,111,92,64,32            ; vmovdqu       0x20(%r8,%rax,2),%xmm3
8471  DB  197,225,115,219,4                   ; vpsrldq       $0x4,%xmm3,%xmm3
8472  DB  197,185,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm8
8473  DB  197,177,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm9
8474  DB  197,161,115,217,6                   ; vpsrldq       $0x6,%xmm1,%xmm11
8475  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
8476  DB  197,249,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm0
8477  DB  196,193,57,97,209                   ; vpunpcklwd    %xmm9,%xmm8,%xmm2
8478  DB  197,241,97,203                      ; vpunpcklwd    %xmm3,%xmm1,%xmm1
8479  DB  196,193,33,97,218                   ; vpunpcklwd    %xmm10,%xmm11,%xmm3
8480  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
8481  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
8482  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
8483  DB  197,113,105,211                     ; vpunpckhwd    %xmm3,%xmm1,%xmm10
8484  DB  197,185,108,194                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm0
8485  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
8486  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
8487  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
8488  DB  196,65,25,239,228                   ; vpxor         %xmm12,%xmm12,%xmm12
8489  DB  196,193,121,105,204                 ; vpunpckhwd    %xmm12,%xmm0,%xmm1
8490  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
8491  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
8492  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
8493  DB  196,98,125,24,29,56,18,0,0          ; vbroadcastss  0x1238(%rip),%ymm11        # 57e0 <_sk_callback_avx+0x3f5>
8494  DB  196,193,124,89,195                  ; vmulps        %ymm11,%ymm0,%ymm0
8495  DB  197,185,109,202                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm1
8496  DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
8497  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
8498  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
8499  DB  196,193,113,105,212                 ; vpunpckhwd    %xmm12,%xmm1,%xmm2
8500  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
8501  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
8502  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
8503  DB  196,193,116,89,203                  ; vmulps        %ymm11,%ymm1,%ymm1
8504  DB  196,193,49,108,210                  ; vpunpcklqdq   %xmm10,%xmm9,%xmm2
8505  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
8506  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
8507  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
8508  DB  196,193,105,105,220                 ; vpunpckhwd    %xmm12,%xmm2,%xmm3
8509  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
8510  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
8511  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
8512  DB  196,193,108,89,211                  ; vmulps        %ymm11,%ymm2,%ymm2
8513  DB  72,173                              ; lods          %ds:(%rsi),%rax
8514  DB  196,226,125,24,29,213,17,0,0        ; vbroadcastss  0x11d5(%rip),%ymm3        # 57e4 <_sk_callback_avx+0x3f9>
8515  DB  255,224                             ; jmpq          *%rax
8516  DB  196,193,121,110,4,64                ; vmovd         (%r8,%rax,2),%xmm0
8517  DB  196,193,121,196,68,64,4,2           ; vpinsrw       $0x2,0x4(%r8,%rax,2),%xmm0,%xmm0
8518  DB  72,131,249,1                        ; cmp           $0x1,%rcx
8519  DB  117,5                               ; jne           462a <_sk_load_rgb_u16_be_avx+0x11e>
8520  DB  233,40,255,255,255                  ; jmpq          4552 <_sk_load_rgb_u16_be_avx+0x46>
8521  DB  196,193,121,110,76,64,6             ; vmovd         0x6(%r8,%rax,2),%xmm1
8522  DB  196,65,113,196,68,64,10,2           ; vpinsrw       $0x2,0xa(%r8,%rax,2),%xmm1,%xmm8
8523  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8524  DB  114,26                              ; jb            4659 <_sk_load_rgb_u16_be_avx+0x14d>
8525  DB  196,193,121,110,76,64,12            ; vmovd         0xc(%r8,%rax,2),%xmm1
8526  DB  196,193,113,196,84,64,16,2          ; vpinsrw       $0x2,0x10(%r8,%rax,2),%xmm1,%xmm2
8527  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8528  DB  117,10                              ; jne           465e <_sk_load_rgb_u16_be_avx+0x152>
8529  DB  233,249,254,255,255                 ; jmpq          4552 <_sk_load_rgb_u16_be_avx+0x46>
8530  DB  233,244,254,255,255                 ; jmpq          4552 <_sk_load_rgb_u16_be_avx+0x46>
8531  DB  196,193,121,110,76,64,18            ; vmovd         0x12(%r8,%rax,2),%xmm1
8532  DB  196,65,113,196,76,64,22,2           ; vpinsrw       $0x2,0x16(%r8,%rax,2),%xmm1,%xmm9
8533  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8534  DB  114,26                              ; jb            468d <_sk_load_rgb_u16_be_avx+0x181>
8535  DB  196,193,121,110,76,64,24            ; vmovd         0x18(%r8,%rax,2),%xmm1
8536  DB  196,193,113,196,76,64,28,2          ; vpinsrw       $0x2,0x1c(%r8,%rax,2),%xmm1,%xmm1
8537  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8538  DB  117,10                              ; jne           4692 <_sk_load_rgb_u16_be_avx+0x186>
8539  DB  233,197,254,255,255                 ; jmpq          4552 <_sk_load_rgb_u16_be_avx+0x46>
8540  DB  233,192,254,255,255                 ; jmpq          4552 <_sk_load_rgb_u16_be_avx+0x46>
8541  DB  196,193,121,110,92,64,30            ; vmovd         0x1e(%r8,%rax,2),%xmm3
8542  DB  196,65,97,196,92,64,34,2            ; vpinsrw       $0x2,0x22(%r8,%rax,2),%xmm3,%xmm11
8543  DB  72,131,249,7                        ; cmp           $0x7,%rcx
8544  DB  114,20                              ; jb            46bb <_sk_load_rgb_u16_be_avx+0x1af>
8545  DB  196,193,121,110,92,64,36            ; vmovd         0x24(%r8,%rax,2),%xmm3
8546  DB  196,193,97,196,92,64,40,2           ; vpinsrw       $0x2,0x28(%r8,%rax,2),%xmm3,%xmm3
8547  DB  233,151,254,255,255                 ; jmpq          4552 <_sk_load_rgb_u16_be_avx+0x46>
8548  DB  233,146,254,255,255                 ; jmpq          4552 <_sk_load_rgb_u16_be_avx+0x46>
8549
8550PUBLIC _sk_store_u16_be_avx
8551_sk_store_u16_be_avx LABEL PROC
8552  DB  72,173                              ; lods          %ds:(%rsi),%rax
8553  DB  76,139,0                            ; mov           (%rax),%r8
8554  DB  72,141,4,189,0,0,0,0                ; lea           0x0(,%rdi,4),%rax
8555  DB  196,98,125,24,5,18,17,0,0           ; vbroadcastss  0x1112(%rip),%ymm8        # 57e8 <_sk_callback_avx+0x3fd>
8556  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
8557  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
8558  DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
8559  DB  196,66,49,43,202                    ; vpackusdw     %xmm10,%xmm9,%xmm9
8560  DB  196,193,41,113,241,8                ; vpsllw        $0x8,%xmm9,%xmm10
8561  DB  196,193,49,113,209,8                ; vpsrlw        $0x8,%xmm9,%xmm9
8562  DB  196,65,41,235,201                   ; vpor          %xmm9,%xmm10,%xmm9
8563  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
8564  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
8565  DB  196,67,125,25,211,1                 ; vextractf128  $0x1,%ymm10,%xmm11
8566  DB  196,66,41,43,211                    ; vpackusdw     %xmm11,%xmm10,%xmm10
8567  DB  196,193,33,113,242,8                ; vpsllw        $0x8,%xmm10,%xmm11
8568  DB  196,193,41,113,210,8                ; vpsrlw        $0x8,%xmm10,%xmm10
8569  DB  196,65,33,235,210                   ; vpor          %xmm10,%xmm11,%xmm10
8570  DB  196,65,108,89,216                   ; vmulps        %ymm8,%ymm2,%ymm11
8571  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
8572  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
8573  DB  196,66,33,43,220                    ; vpackusdw     %xmm12,%xmm11,%xmm11
8574  DB  196,193,25,113,243,8                ; vpsllw        $0x8,%xmm11,%xmm12
8575  DB  196,193,33,113,211,8                ; vpsrlw        $0x8,%xmm11,%xmm11
8576  DB  196,65,25,235,219                   ; vpor          %xmm11,%xmm12,%xmm11
8577  DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%ymm8
8578  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
8579  DB  196,67,125,25,196,1                 ; vextractf128  $0x1,%ymm8,%xmm12
8580  DB  196,66,57,43,196                    ; vpackusdw     %xmm12,%xmm8,%xmm8
8581  DB  196,193,25,113,240,8                ; vpsllw        $0x8,%xmm8,%xmm12
8582  DB  196,193,57,113,208,8                ; vpsrlw        $0x8,%xmm8,%xmm8
8583  DB  196,65,25,235,192                   ; vpor          %xmm8,%xmm12,%xmm8
8584  DB  196,65,49,97,226                    ; vpunpcklwd    %xmm10,%xmm9,%xmm12
8585  DB  196,65,49,105,234                   ; vpunpckhwd    %xmm10,%xmm9,%xmm13
8586  DB  196,65,33,97,200                    ; vpunpcklwd    %xmm8,%xmm11,%xmm9
8587  DB  196,65,33,105,192                   ; vpunpckhwd    %xmm8,%xmm11,%xmm8
8588  DB  196,65,25,98,217                    ; vpunpckldq    %xmm9,%xmm12,%xmm11
8589  DB  196,65,25,106,209                   ; vpunpckhdq    %xmm9,%xmm12,%xmm10
8590  DB  196,65,17,98,200                    ; vpunpckldq    %xmm8,%xmm13,%xmm9
8591  DB  196,65,17,106,192                   ; vpunpckhdq    %xmm8,%xmm13,%xmm8
8592  DB  72,133,201                          ; test          %rcx,%rcx
8593  DB  117,31                              ; jne           47ba <_sk_store_u16_be_avx+0xfa>
8594  DB  196,65,120,17,28,64                 ; vmovups       %xmm11,(%r8,%rax,2)
8595  DB  196,65,120,17,84,64,16              ; vmovups       %xmm10,0x10(%r8,%rax,2)
8596  DB  196,65,120,17,76,64,32              ; vmovups       %xmm9,0x20(%r8,%rax,2)
8597  DB  196,65,122,127,68,64,48             ; vmovdqu       %xmm8,0x30(%r8,%rax,2)
8598  DB  72,173                              ; lods          %ds:(%rsi),%rax
8599  DB  255,224                             ; jmpq          *%rax
8600  DB  196,65,121,214,28,64                ; vmovq         %xmm11,(%r8,%rax,2)
8601  DB  72,131,249,1                        ; cmp           $0x1,%rcx
8602  DB  116,240                             ; je            47b6 <_sk_store_u16_be_avx+0xf6>
8603  DB  196,65,121,23,92,64,8               ; vmovhpd       %xmm11,0x8(%r8,%rax,2)
8604  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8605  DB  114,227                             ; jb            47b6 <_sk_store_u16_be_avx+0xf6>
8606  DB  196,65,121,214,84,64,16             ; vmovq         %xmm10,0x10(%r8,%rax,2)
8607  DB  116,218                             ; je            47b6 <_sk_store_u16_be_avx+0xf6>
8608  DB  196,65,121,23,84,64,24              ; vmovhpd       %xmm10,0x18(%r8,%rax,2)
8609  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8610  DB  114,205                             ; jb            47b6 <_sk_store_u16_be_avx+0xf6>
8611  DB  196,65,121,214,76,64,32             ; vmovq         %xmm9,0x20(%r8,%rax,2)
8612  DB  116,196                             ; je            47b6 <_sk_store_u16_be_avx+0xf6>
8613  DB  196,65,121,23,76,64,40              ; vmovhpd       %xmm9,0x28(%r8,%rax,2)
8614  DB  72,131,249,7                        ; cmp           $0x7,%rcx
8615  DB  114,183                             ; jb            47b6 <_sk_store_u16_be_avx+0xf6>
8616  DB  196,65,121,214,68,64,48             ; vmovq         %xmm8,0x30(%r8,%rax,2)
8617  DB  235,174                             ; jmp           47b6 <_sk_store_u16_be_avx+0xf6>
8618
8619PUBLIC _sk_load_f32_avx
8620_sk_load_f32_avx LABEL PROC
8621  DB  72,173                              ; lods          %ds:(%rsi),%rax
8622  DB  72,131,249,7                        ; cmp           $0x7,%rcx
8623  DB  119,110                             ; ja            487e <_sk_load_f32_avx+0x76>
8624  DB  76,139,0                            ; mov           (%rax),%r8
8625  DB  76,141,12,189,0,0,0,0               ; lea           0x0(,%rdi,4),%r9
8626  DB  76,141,21,134,0,0,0                 ; lea           0x86(%rip),%r10        # 48a8 <_sk_load_f32_avx+0xa0>
8627  DB  73,99,4,138                         ; movslq        (%r10,%rcx,4),%rax
8628  DB  76,1,208                            ; add           %r10,%rax
8629  DB  255,224                             ; jmpq          *%rax
8630  DB  196,3,125,24,68,136,112,1           ; vinsertf128   $0x1,0x70(%r8,%r9,4),%ymm0,%ymm8
8631  DB  196,131,125,24,92,136,96,1          ; vinsertf128   $0x1,0x60(%r8,%r9,4),%ymm0,%ymm3
8632  DB  196,131,125,24,76,136,80,1          ; vinsertf128   $0x1,0x50(%r8,%r9,4),%ymm0,%ymm1
8633  DB  196,131,125,24,84,136,64,1          ; vinsertf128   $0x1,0x40(%r8,%r9,4),%ymm0,%ymm2
8634  DB  196,129,121,16,68,136,48            ; vmovupd       0x30(%r8,%r9,4),%xmm0
8635  DB  196,195,125,13,192,12               ; vblendpd      $0xc,%ymm8,%ymm0,%ymm0
8636  DB  196,1,121,16,68,136,32              ; vmovupd       0x20(%r8,%r9,4),%xmm8
8637  DB  196,99,61,13,203,12                 ; vblendpd      $0xc,%ymm3,%ymm8,%ymm9
8638  DB  196,129,121,16,92,136,16            ; vmovupd       0x10(%r8,%r9,4),%xmm3
8639  DB  196,99,101,13,209,12                ; vblendpd      $0xc,%ymm1,%ymm3,%ymm10
8640  DB  196,129,121,16,12,136               ; vmovupd       (%r8,%r9,4),%xmm1
8641  DB  196,227,117,13,202,12               ; vblendpd      $0xc,%ymm2,%ymm1,%ymm1
8642  DB  196,193,116,20,210                  ; vunpcklps     %ymm10,%ymm1,%ymm2
8643  DB  196,193,116,21,218                  ; vunpckhps     %ymm10,%ymm1,%ymm3
8644  DB  197,180,20,200                      ; vunpcklps     %ymm0,%ymm9,%ymm1
8645  DB  197,52,21,192                       ; vunpckhps     %ymm0,%ymm9,%ymm8
8646  DB  197,237,20,193                      ; vunpcklpd     %ymm1,%ymm2,%ymm0
8647  DB  197,237,21,201                      ; vunpckhpd     %ymm1,%ymm2,%ymm1
8648  DB  196,193,101,20,208                  ; vunpcklpd     %ymm8,%ymm3,%ymm2
8649  DB  196,193,101,21,216                  ; vunpckhpd     %ymm8,%ymm3,%ymm3
8650  DB  72,173                              ; lods          %ds:(%rsi),%rax
8651  DB  255,224                             ; jmpq          *%rax
8652  DB  102,144                             ; xchg          %ax,%ax
8653  DB  131,255,255                         ; cmp           $0xffffffff,%edi
8654  DB  255,202                             ; dec           %edx
8655  DB  255                                 ; (bad)
8656  DB  255                                 ; (bad)
8657  DB  255                                 ; (bad)
8658  DB  189,255,255,255,176                 ; mov           $0xb0ffffff,%ebp
8659  DB  255                                 ; (bad)
8660  DB  255                                 ; (bad)
8661  DB  255,163,255,255,255,155             ; jmpq          *-0x64000001(%rbx)
8662  DB  255                                 ; (bad)
8663  DB  255                                 ; (bad)
8664  DB  255,147,255,255,255,139             ; callq         *-0x74000001(%rbx)
8665  DB  255                                 ; (bad)
8666  DB  255                                 ; (bad)
8667  DB  255                                 ; .byte         0xff
8668
8669PUBLIC _sk_store_f32_avx
8670_sk_store_f32_avx LABEL PROC
8671  DB  72,173                              ; lods          %ds:(%rsi),%rax
8672  DB  76,139,0                            ; mov           (%rax),%r8
8673  DB  72,141,4,189,0,0,0,0                ; lea           0x0(,%rdi,4),%rax
8674  DB  197,124,20,193                      ; vunpcklps     %ymm1,%ymm0,%ymm8
8675  DB  197,124,21,217                      ; vunpckhps     %ymm1,%ymm0,%ymm11
8676  DB  197,108,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm9
8677  DB  197,108,21,227                      ; vunpckhps     %ymm3,%ymm2,%ymm12
8678  DB  196,65,61,20,209                    ; vunpcklpd     %ymm9,%ymm8,%ymm10
8679  DB  196,65,61,21,201                    ; vunpckhpd     %ymm9,%ymm8,%ymm9
8680  DB  196,65,37,20,196                    ; vunpcklpd     %ymm12,%ymm11,%ymm8
8681  DB  196,65,37,21,220                    ; vunpckhpd     %ymm12,%ymm11,%ymm11
8682  DB  72,133,201                          ; test          %rcx,%rcx
8683  DB  117,55                              ; jne           4935 <_sk_store_f32_avx+0x6d>
8684  DB  196,67,45,24,225,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
8685  DB  196,67,61,24,235,1                  ; vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
8686  DB  196,67,45,6,201,49                  ; vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
8687  DB  196,67,61,6,195,49                  ; vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
8688  DB  196,65,125,17,36,128                ; vmovupd       %ymm12,(%r8,%rax,4)
8689  DB  196,65,125,17,108,128,32            ; vmovupd       %ymm13,0x20(%r8,%rax,4)
8690  DB  196,65,125,17,76,128,64             ; vmovupd       %ymm9,0x40(%r8,%rax,4)
8691  DB  196,65,125,17,68,128,96             ; vmovupd       %ymm8,0x60(%r8,%rax,4)
8692  DB  72,173                              ; lods          %ds:(%rsi),%rax
8693  DB  255,224                             ; jmpq          *%rax
8694  DB  196,65,121,17,20,128                ; vmovupd       %xmm10,(%r8,%rax,4)
8695  DB  72,131,249,1                        ; cmp           $0x1,%rcx
8696  DB  116,240                             ; je            4931 <_sk_store_f32_avx+0x69>
8697  DB  196,65,121,17,76,128,16             ; vmovupd       %xmm9,0x10(%r8,%rax,4)
8698  DB  72,131,249,3                        ; cmp           $0x3,%rcx
8699  DB  114,227                             ; jb            4931 <_sk_store_f32_avx+0x69>
8700  DB  196,65,121,17,68,128,32             ; vmovupd       %xmm8,0x20(%r8,%rax,4)
8701  DB  116,218                             ; je            4931 <_sk_store_f32_avx+0x69>
8702  DB  196,65,121,17,92,128,48             ; vmovupd       %xmm11,0x30(%r8,%rax,4)
8703  DB  72,131,249,5                        ; cmp           $0x5,%rcx
8704  DB  114,205                             ; jb            4931 <_sk_store_f32_avx+0x69>
8705  DB  196,67,125,25,84,128,64,1           ; vextractf128  $0x1,%ymm10,0x40(%r8,%rax,4)
8706  DB  116,195                             ; je            4931 <_sk_store_f32_avx+0x69>
8707  DB  196,67,125,25,76,128,80,1           ; vextractf128  $0x1,%ymm9,0x50(%r8,%rax,4)
8708  DB  72,131,249,7                        ; cmp           $0x7,%rcx
8709  DB  114,181                             ; jb            4931 <_sk_store_f32_avx+0x69>
8710  DB  196,67,125,25,68,128,96,1           ; vextractf128  $0x1,%ymm8,0x60(%r8,%rax,4)
8711  DB  235,171                             ; jmp           4931 <_sk_store_f32_avx+0x69>
8712
8713PUBLIC _sk_clamp_x_avx
8714_sk_clamp_x_avx LABEL PROC
8715  DB  72,173                              ; lods          %ds:(%rsi),%rax
8716  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
8717  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
8718  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8719  DB  196,99,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm0
8720  DB  196,65,41,118,210                   ; vpcmpeqd      %xmm10,%xmm10,%xmm10
8721  DB  196,193,121,254,194                 ; vpaddd        %xmm10,%xmm0,%xmm0
8722  DB  196,65,57,254,194                   ; vpaddd        %xmm10,%xmm8,%xmm8
8723  DB  196,227,61,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm8,%ymm0
8724  DB  197,180,93,192                      ; vminps        %ymm0,%ymm9,%ymm0
8725  DB  72,173                              ; lods          %ds:(%rsi),%rax
8726  DB  255,224                             ; jmpq          *%rax
8727
8728PUBLIC _sk_clamp_y_avx
8729_sk_clamp_y_avx LABEL PROC
8730  DB  72,173                              ; lods          %ds:(%rsi),%rax
8731  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
8732  DB  197,60,95,201                       ; vmaxps        %ymm1,%ymm8,%ymm9
8733  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8734  DB  196,99,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm1
8735  DB  196,65,41,118,210                   ; vpcmpeqd      %xmm10,%xmm10,%xmm10
8736  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
8737  DB  196,65,57,254,194                   ; vpaddd        %xmm10,%xmm8,%xmm8
8738  DB  196,227,61,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm8,%ymm1
8739  DB  197,180,93,201                      ; vminps        %ymm1,%ymm9,%ymm1
8740  DB  72,173                              ; lods          %ds:(%rsi),%rax
8741  DB  255,224                             ; jmpq          *%rax
8742
8743PUBLIC _sk_repeat_x_avx
8744_sk_repeat_x_avx LABEL PROC
8745  DB  72,173                              ; lods          %ds:(%rsi),%rax
8746  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8747  DB  196,65,124,94,200                   ; vdivps        %ymm8,%ymm0,%ymm9
8748  DB  196,67,125,8,201,1                  ; vroundps      $0x1,%ymm9,%ymm9
8749  DB  196,65,52,89,200                    ; vmulps        %ymm8,%ymm9,%ymm9
8750  DB  196,65,124,92,201                   ; vsubps        %ymm9,%ymm0,%ymm9
8751  DB  196,99,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm0
8752  DB  196,65,41,118,210                   ; vpcmpeqd      %xmm10,%xmm10,%xmm10
8753  DB  196,193,121,254,194                 ; vpaddd        %xmm10,%xmm0,%xmm0
8754  DB  196,65,57,254,194                   ; vpaddd        %xmm10,%xmm8,%xmm8
8755  DB  196,227,61,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm8,%ymm0
8756  DB  197,180,93,192                      ; vminps        %ymm0,%ymm9,%ymm0
8757  DB  72,173                              ; lods          %ds:(%rsi),%rax
8758  DB  255,224                             ; jmpq          *%rax
8759
8760PUBLIC _sk_repeat_y_avx
8761_sk_repeat_y_avx LABEL PROC
8762  DB  72,173                              ; lods          %ds:(%rsi),%rax
8763  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8764  DB  196,65,116,94,200                   ; vdivps        %ymm8,%ymm1,%ymm9
8765  DB  196,67,125,8,201,1                  ; vroundps      $0x1,%ymm9,%ymm9
8766  DB  196,65,52,89,200                    ; vmulps        %ymm8,%ymm9,%ymm9
8767  DB  196,65,116,92,201                   ; vsubps        %ymm9,%ymm1,%ymm9
8768  DB  196,99,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm1
8769  DB  196,65,41,118,210                   ; vpcmpeqd      %xmm10,%xmm10,%xmm10
8770  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
8771  DB  196,65,57,254,194                   ; vpaddd        %xmm10,%xmm8,%xmm8
8772  DB  196,227,61,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm8,%ymm1
8773  DB  197,180,93,201                      ; vminps        %ymm1,%ymm9,%ymm1
8774  DB  72,173                              ; lods          %ds:(%rsi),%rax
8775  DB  255,224                             ; jmpq          *%rax
8776
8777PUBLIC _sk_mirror_x_avx
8778_sk_mirror_x_avx LABEL PROC
8779  DB  72,173                              ; lods          %ds:(%rsi),%rax
8780  DB  197,121,110,0                       ; vmovd         (%rax),%xmm8
8781  DB  196,65,121,112,200,0                ; vpshufd       $0x0,%xmm8,%xmm9
8782  DB  196,67,53,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm9,%ymm9
8783  DB  196,65,124,92,209                   ; vsubps        %ymm9,%ymm0,%ymm10
8784  DB  196,193,58,88,192                   ; vaddss        %xmm8,%xmm8,%xmm0
8785  DB  196,227,121,4,192,0                 ; vpermilps     $0x0,%xmm0,%xmm0
8786  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
8787  DB  197,44,94,192                       ; vdivps        %ymm0,%ymm10,%ymm8
8788  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
8789  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
8790  DB  197,172,92,192                      ; vsubps        %ymm0,%ymm10,%ymm0
8791  DB  196,193,124,92,193                  ; vsubps        %ymm9,%ymm0,%ymm0
8792  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
8793  DB  197,60,92,192                       ; vsubps        %ymm0,%ymm8,%ymm8
8794  DB  197,60,84,192                       ; vandps        %ymm0,%ymm8,%ymm8
8795  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
8796  DB  196,65,41,118,210                   ; vpcmpeqd      %xmm10,%xmm10,%xmm10
8797  DB  196,193,121,254,194                 ; vpaddd        %xmm10,%xmm0,%xmm0
8798  DB  196,65,49,254,202                   ; vpaddd        %xmm10,%xmm9,%xmm9
8799  DB  196,227,53,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm0
8800  DB  197,188,93,192                      ; vminps        %ymm0,%ymm8,%ymm0
8801  DB  72,173                              ; lods          %ds:(%rsi),%rax
8802  DB  255,224                             ; jmpq          *%rax
8803
8804PUBLIC _sk_mirror_y_avx
8805_sk_mirror_y_avx LABEL PROC
8806  DB  72,173                              ; lods          %ds:(%rsi),%rax
8807  DB  197,121,110,0                       ; vmovd         (%rax),%xmm8
8808  DB  196,65,121,112,200,0                ; vpshufd       $0x0,%xmm8,%xmm9
8809  DB  196,67,53,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm9,%ymm9
8810  DB  196,65,116,92,209                   ; vsubps        %ymm9,%ymm1,%ymm10
8811  DB  196,193,58,88,200                   ; vaddss        %xmm8,%xmm8,%xmm1
8812  DB  196,227,121,4,201,0                 ; vpermilps     $0x0,%xmm1,%xmm1
8813  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
8814  DB  197,44,94,193                       ; vdivps        %ymm1,%ymm10,%ymm8
8815  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
8816  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
8817  DB  197,172,92,201                      ; vsubps        %ymm1,%ymm10,%ymm1
8818  DB  196,193,116,92,201                  ; vsubps        %ymm9,%ymm1,%ymm1
8819  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
8820  DB  197,60,92,193                       ; vsubps        %ymm1,%ymm8,%ymm8
8821  DB  197,60,84,193                       ; vandps        %ymm1,%ymm8,%ymm8
8822  DB  196,99,125,25,201,1                 ; vextractf128  $0x1,%ymm9,%xmm1
8823  DB  196,65,41,118,210                   ; vpcmpeqd      %xmm10,%xmm10,%xmm10
8824  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
8825  DB  196,65,49,254,202                   ; vpaddd        %xmm10,%xmm9,%xmm9
8826  DB  196,227,53,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm9,%ymm1
8827  DB  197,188,93,201                      ; vminps        %ymm1,%ymm8,%ymm1
8828  DB  72,173                              ; lods          %ds:(%rsi),%rax
8829  DB  255,224                             ; jmpq          *%rax
8830
8831PUBLIC _sk_luminance_to_alpha_avx
8832_sk_luminance_to_alpha_avx LABEL PROC
8833  DB  196,226,125,24,29,155,12,0,0        ; vbroadcastss  0xc9b(%rip),%ymm3        # 57ec <_sk_callback_avx+0x401>
8834  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
8835  DB  196,226,125,24,29,146,12,0,0        ; vbroadcastss  0xc92(%rip),%ymm3        # 57f0 <_sk_callback_avx+0x405>
8836  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
8837  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
8838  DB  196,226,125,24,13,133,12,0,0        ; vbroadcastss  0xc85(%rip),%ymm1        # 57f4 <_sk_callback_avx+0x409>
8839  DB  197,236,89,201                      ; vmulps        %ymm1,%ymm2,%ymm1
8840  DB  197,252,88,217                      ; vaddps        %ymm1,%ymm0,%ymm3
8841  DB  72,173                              ; lods          %ds:(%rsi),%rax
8842  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
8843  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
8844  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
8845  DB  255,224                             ; jmpq          *%rax
8846
8847PUBLIC _sk_matrix_2x3_avx
8848_sk_matrix_2x3_avx LABEL PROC
8849  DB  72,173                              ; lods          %ds:(%rsi),%rax
8850  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8851  DB  196,98,125,24,72,8                  ; vbroadcastss  0x8(%rax),%ymm9
8852  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
8853  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
8854  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
8855  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
8856  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
8857  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
8858  DB  196,98,125,24,80,12                 ; vbroadcastss  0xc(%rax),%ymm10
8859  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
8860  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
8861  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
8862  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
8863  DB  197,252,88,201                      ; vaddps        %ymm1,%ymm0,%ymm1
8864  DB  72,173                              ; lods          %ds:(%rsi),%rax
8865  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
8866  DB  255,224                             ; jmpq          *%rax
8867
8868PUBLIC _sk_matrix_3x4_avx
8869_sk_matrix_3x4_avx LABEL PROC
8870  DB  72,173                              ; lods          %ds:(%rsi),%rax
8871  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8872  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
8873  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
8874  DB  196,98,125,24,88,36                 ; vbroadcastss  0x24(%rax),%ymm11
8875  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
8876  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
8877  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
8878  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
8879  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
8880  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
8881  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
8882  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
8883  DB  196,98,125,24,88,28                 ; vbroadcastss  0x1c(%rax),%ymm11
8884  DB  196,98,125,24,96,40                 ; vbroadcastss  0x28(%rax),%ymm12
8885  DB  197,36,89,218                       ; vmulps        %ymm2,%ymm11,%ymm11
8886  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
8887  DB  197,44,89,209                       ; vmulps        %ymm1,%ymm10,%ymm10
8888  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
8889  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
8890  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
8891  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
8892  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
8893  DB  196,98,125,24,96,32                 ; vbroadcastss  0x20(%rax),%ymm12
8894  DB  196,98,125,24,104,44                ; vbroadcastss  0x2c(%rax),%ymm13
8895  DB  197,156,89,210                      ; vmulps        %ymm2,%ymm12,%ymm2
8896  DB  196,193,108,88,213                  ; vaddps        %ymm13,%ymm2,%ymm2
8897  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
8898  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
8899  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
8900  DB  197,252,88,209                      ; vaddps        %ymm1,%ymm0,%ymm2
8901  DB  72,173                              ; lods          %ds:(%rsi),%rax
8902  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
8903  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
8904  DB  255,224                             ; jmpq          *%rax
8905
8906PUBLIC _sk_matrix_4x5_avx
8907_sk_matrix_4x5_avx LABEL PROC
8908  DB  72,173                              ; lods          %ds:(%rsi),%rax
8909  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8910  DB  196,98,125,24,72,16                 ; vbroadcastss  0x10(%rax),%ymm9
8911  DB  196,98,125,24,80,32                 ; vbroadcastss  0x20(%rax),%ymm10
8912  DB  196,98,125,24,88,48                 ; vbroadcastss  0x30(%rax),%ymm11
8913  DB  196,98,125,24,96,64                 ; vbroadcastss  0x40(%rax),%ymm12
8914  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
8915  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
8916  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
8917  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
8918  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
8919  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
8920  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
8921  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
8922  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
8923  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
8924  DB  196,98,125,24,88,36                 ; vbroadcastss  0x24(%rax),%ymm11
8925  DB  196,98,125,24,96,52                 ; vbroadcastss  0x34(%rax),%ymm12
8926  DB  196,98,125,24,104,68                ; vbroadcastss  0x44(%rax),%ymm13
8927  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
8928  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
8929  DB  197,36,89,218                       ; vmulps        %ymm2,%ymm11,%ymm11
8930  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
8931  DB  197,44,89,209                       ; vmulps        %ymm1,%ymm10,%ymm10
8932  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
8933  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
8934  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
8935  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
8936  DB  196,98,125,24,88,24                 ; vbroadcastss  0x18(%rax),%ymm11
8937  DB  196,98,125,24,96,40                 ; vbroadcastss  0x28(%rax),%ymm12
8938  DB  196,98,125,24,104,56                ; vbroadcastss  0x38(%rax),%ymm13
8939  DB  196,98,125,24,112,72                ; vbroadcastss  0x48(%rax),%ymm14
8940  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
8941  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
8942  DB  197,28,89,226                       ; vmulps        %ymm2,%ymm12,%ymm12
8943  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
8944  DB  197,36,89,217                       ; vmulps        %ymm1,%ymm11,%ymm11
8945  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
8946  DB  197,44,89,208                       ; vmulps        %ymm0,%ymm10,%ymm10
8947  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
8948  DB  196,98,125,24,88,12                 ; vbroadcastss  0xc(%rax),%ymm11
8949  DB  196,98,125,24,96,28                 ; vbroadcastss  0x1c(%rax),%ymm12
8950  DB  196,98,125,24,104,44                ; vbroadcastss  0x2c(%rax),%ymm13
8951  DB  196,98,125,24,112,60                ; vbroadcastss  0x3c(%rax),%ymm14
8952  DB  196,98,125,24,120,76                ; vbroadcastss  0x4c(%rax),%ymm15
8953  DB  197,140,89,219                      ; vmulps        %ymm3,%ymm14,%ymm3
8954  DB  196,193,100,88,223                  ; vaddps        %ymm15,%ymm3,%ymm3
8955  DB  197,148,89,210                      ; vmulps        %ymm2,%ymm13,%ymm2
8956  DB  197,236,88,211                      ; vaddps        %ymm3,%ymm2,%ymm2
8957  DB  197,156,89,201                      ; vmulps        %ymm1,%ymm12,%ymm1
8958  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
8959  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
8960  DB  197,252,88,217                      ; vaddps        %ymm1,%ymm0,%ymm3
8961  DB  72,173                              ; lods          %ds:(%rsi),%rax
8962  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
8963  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
8964  DB  197,124,41,210                      ; vmovaps       %ymm10,%ymm2
8965  DB  255,224                             ; jmpq          *%rax
8966
8967PUBLIC _sk_matrix_perspective_avx
8968_sk_matrix_perspective_avx LABEL PROC
8969  DB  72,173                              ; lods          %ds:(%rsi),%rax
8970  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
8971  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
8972  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
8973  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
8974  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
8975  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
8976  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
8977  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
8978  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
8979  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
8980  DB  197,44,89,209                       ; vmulps        %ymm1,%ymm10,%ymm10
8981  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
8982  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
8983  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
8984  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
8985  DB  196,98,125,24,88,28                 ; vbroadcastss  0x1c(%rax),%ymm11
8986  DB  196,98,125,24,96,32                 ; vbroadcastss  0x20(%rax),%ymm12
8987  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
8988  DB  196,193,116,88,204                  ; vaddps        %ymm12,%ymm1,%ymm1
8989  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
8990  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
8991  DB  197,252,83,200                      ; vrcpps        %ymm0,%ymm1
8992  DB  197,188,89,193                      ; vmulps        %ymm1,%ymm8,%ymm0
8993  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
8994  DB  72,173                              ; lods          %ds:(%rsi),%rax
8995  DB  255,224                             ; jmpq          *%rax
8996
8997PUBLIC _sk_linear_gradient_avx
8998_sk_linear_gradient_avx LABEL PROC
8999  DB  72,173                              ; lods          %ds:(%rsi),%rax
9000  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
9001  DB  196,226,125,24,72,20                ; vbroadcastss  0x14(%rax),%ymm1
9002  DB  196,226,125,24,80,24                ; vbroadcastss  0x18(%rax),%ymm2
9003  DB  196,226,125,24,88,28                ; vbroadcastss  0x1c(%rax),%ymm3
9004  DB  76,139,0                            ; mov           (%rax),%r8
9005  DB  77,133,192                          ; test          %r8,%r8
9006  DB  15,132,146,0,0,0                    ; je            4ec5 <_sk_linear_gradient_avx+0xb8>
9007  DB  72,139,64,8                         ; mov           0x8(%rax),%rax
9008  DB  72,131,192,32                       ; add           $0x20,%rax
9009  DB  196,65,28,87,228                    ; vxorps        %ymm12,%ymm12,%ymm12
9010  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
9011  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
9012  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
9013  DB  196,98,125,24,104,224               ; vbroadcastss  -0x20(%rax),%ymm13
9014  DB  196,65,124,194,237,1                ; vcmpltps      %ymm13,%ymm0,%ymm13
9015  DB  196,98,125,24,112,228               ; vbroadcastss  -0x1c(%rax),%ymm14
9016  DB  196,67,13,74,228,208                ; vblendvps     %ymm13,%ymm12,%ymm14,%ymm12
9017  DB  196,98,125,24,112,232               ; vbroadcastss  -0x18(%rax),%ymm14
9018  DB  196,67,13,74,219,208                ; vblendvps     %ymm13,%ymm11,%ymm14,%ymm11
9019  DB  196,98,125,24,112,236               ; vbroadcastss  -0x14(%rax),%ymm14
9020  DB  196,67,13,74,210,208                ; vblendvps     %ymm13,%ymm10,%ymm14,%ymm10
9021  DB  196,98,125,24,112,240               ; vbroadcastss  -0x10(%rax),%ymm14
9022  DB  196,67,13,74,201,208                ; vblendvps     %ymm13,%ymm9,%ymm14,%ymm9
9023  DB  196,98,125,24,112,244               ; vbroadcastss  -0xc(%rax),%ymm14
9024  DB  196,67,13,74,192,208                ; vblendvps     %ymm13,%ymm8,%ymm14,%ymm8
9025  DB  196,98,125,24,112,248               ; vbroadcastss  -0x8(%rax),%ymm14
9026  DB  196,227,13,74,201,208               ; vblendvps     %ymm13,%ymm1,%ymm14,%ymm1
9027  DB  196,98,125,24,112,252               ; vbroadcastss  -0x4(%rax),%ymm14
9028  DB  196,227,13,74,210,208               ; vblendvps     %ymm13,%ymm2,%ymm14,%ymm2
9029  DB  196,98,125,24,48                    ; vbroadcastss  (%rax),%ymm14
9030  DB  196,227,13,74,219,208               ; vblendvps     %ymm13,%ymm3,%ymm14,%ymm3
9031  DB  72,131,192,36                       ; add           $0x24,%rax
9032  DB  73,255,200                          ; dec           %r8
9033  DB  117,140                             ; jne           4e4f <_sk_linear_gradient_avx+0x42>
9034  DB  235,20                              ; jmp           4ed9 <_sk_linear_gradient_avx+0xcc>
9035  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
9036  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
9037  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
9038  DB  196,65,28,87,228                    ; vxorps        %ymm12,%ymm12,%ymm12
9039  DB  197,28,89,224                       ; vmulps        %ymm0,%ymm12,%ymm12
9040  DB  196,65,60,88,196                    ; vaddps        %ymm12,%ymm8,%ymm8
9041  DB  197,36,89,216                       ; vmulps        %ymm0,%ymm11,%ymm11
9042  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
9043  DB  197,44,89,208                       ; vmulps        %ymm0,%ymm10,%ymm10
9044  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
9045  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
9046  DB  197,252,88,219                      ; vaddps        %ymm3,%ymm0,%ymm3
9047  DB  72,173                              ; lods          %ds:(%rsi),%rax
9048  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
9049  DB  255,224                             ; jmpq          *%rax
9050
9051PUBLIC _sk_linear_gradient_2stops_avx
9052_sk_linear_gradient_2stops_avx LABEL PROC
9053  DB  72,173                              ; lods          %ds:(%rsi),%rax
9054  DB  196,226,125,24,8                    ; vbroadcastss  (%rax),%ymm1
9055  DB  196,226,125,24,80,16                ; vbroadcastss  0x10(%rax),%ymm2
9056  DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
9057  DB  197,116,88,194                      ; vaddps        %ymm2,%ymm1,%ymm8
9058  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
9059  DB  196,226,125,24,80,20                ; vbroadcastss  0x14(%rax),%ymm2
9060  DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
9061  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
9062  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
9063  DB  196,226,125,24,88,24                ; vbroadcastss  0x18(%rax),%ymm3
9064  DB  197,236,89,208                      ; vmulps        %ymm0,%ymm2,%ymm2
9065  DB  197,236,88,211                      ; vaddps        %ymm3,%ymm2,%ymm2
9066  DB  196,226,125,24,88,12                ; vbroadcastss  0xc(%rax),%ymm3
9067  DB  196,98,125,24,72,28                 ; vbroadcastss  0x1c(%rax),%ymm9
9068  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
9069  DB  196,193,124,88,217                  ; vaddps        %ymm9,%ymm0,%ymm3
9070  DB  72,173                              ; lods          %ds:(%rsi),%rax
9071  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
9072  DB  255,224                             ; jmpq          *%rax
9073
9074PUBLIC _sk_xy_to_polar_unit_avx
9075_sk_xy_to_polar_unit_avx LABEL PROC
9076  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
9077  DB  197,60,92,200                       ; vsubps        %ymm0,%ymm8,%ymm9
9078  DB  197,52,84,200                       ; vandps        %ymm0,%ymm9,%ymm9
9079  DB  197,60,92,209                       ; vsubps        %ymm1,%ymm8,%ymm10
9080  DB  197,44,84,209                       ; vandps        %ymm1,%ymm10,%ymm10
9081  DB  196,65,52,93,218                    ; vminps        %ymm10,%ymm9,%ymm11
9082  DB  196,65,52,95,226                    ; vmaxps        %ymm10,%ymm9,%ymm12
9083  DB  196,65,36,94,220                    ; vdivps        %ymm12,%ymm11,%ymm11
9084  DB  196,65,36,89,227                    ; vmulps        %ymm11,%ymm11,%ymm12
9085  DB  196,98,125,24,45,106,8,0,0          ; vbroadcastss  0x86a(%rip),%ymm13        # 57f8 <_sk_callback_avx+0x40d>
9086  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
9087  DB  196,98,125,24,53,96,8,0,0           ; vbroadcastss  0x860(%rip),%ymm14        # 57fc <_sk_callback_avx+0x411>
9088  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
9089  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
9090  DB  196,98,125,24,53,81,8,0,0           ; vbroadcastss  0x851(%rip),%ymm14        # 5800 <_sk_callback_avx+0x415>
9091  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
9092  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
9093  DB  196,98,125,24,45,66,8,0,0           ; vbroadcastss  0x842(%rip),%ymm13        # 5804 <_sk_callback_avx+0x419>
9094  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
9095  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
9096  DB  196,65,52,194,202,1                 ; vcmpltps      %ymm10,%ymm9,%ymm9
9097  DB  196,98,125,24,21,45,8,0,0           ; vbroadcastss  0x82d(%rip),%ymm10        # 5808 <_sk_callback_avx+0x41d>
9098  DB  196,65,44,92,211                    ; vsubps        %ymm11,%ymm10,%ymm10
9099  DB  196,67,37,74,202,144                ; vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
9100  DB  196,193,124,194,192,1               ; vcmpltps      %ymm8,%ymm0,%ymm0
9101  DB  196,98,125,24,21,23,8,0,0           ; vbroadcastss  0x817(%rip),%ymm10        # 580c <_sk_callback_avx+0x421>
9102  DB  196,65,44,92,209                    ; vsubps        %ymm9,%ymm10,%ymm10
9103  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
9104  DB  196,65,116,194,200,1                ; vcmpltps      %ymm8,%ymm1,%ymm9
9105  DB  196,98,125,24,21,1,8,0,0            ; vbroadcastss  0x801(%rip),%ymm10        # 5810 <_sk_callback_avx+0x425>
9106  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
9107  DB  196,195,125,74,194,144              ; vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
9108  DB  196,65,124,194,200,3                ; vcmpunordps   %ymm8,%ymm0,%ymm9
9109  DB  196,195,125,74,192,144              ; vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
9110  DB  72,173                              ; lods          %ds:(%rsi),%rax
9111  DB  255,224                             ; jmpq          *%rax
9112
9113PUBLIC _sk_save_xy_avx
9114_sk_save_xy_avx LABEL PROC
9115  DB  72,173                              ; lods          %ds:(%rsi),%rax
9116  DB  196,98,125,24,5,224,7,0,0           ; vbroadcastss  0x7e0(%rip),%ymm8        # 5814 <_sk_callback_avx+0x429>
9117  DB  196,65,124,88,200                   ; vaddps        %ymm8,%ymm0,%ymm9
9118  DB  196,67,125,8,209,1                  ; vroundps      $0x1,%ymm9,%ymm10
9119  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
9120  DB  196,65,116,88,192                   ; vaddps        %ymm8,%ymm1,%ymm8
9121  DB  196,67,125,8,208,1                  ; vroundps      $0x1,%ymm8,%ymm10
9122  DB  196,65,60,92,194                    ; vsubps        %ymm10,%ymm8,%ymm8
9123  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
9124  DB  197,252,17,72,32                    ; vmovups       %ymm1,0x20(%rax)
9125  DB  197,124,17,72,64                    ; vmovups       %ymm9,0x40(%rax)
9126  DB  197,124,17,64,96                    ; vmovups       %ymm8,0x60(%rax)
9127  DB  72,173                              ; lods          %ds:(%rsi),%rax
9128  DB  255,224                             ; jmpq          *%rax
9129
9130PUBLIC _sk_accumulate_avx
9131_sk_accumulate_avx LABEL PROC
9132  DB  72,173                              ; lods          %ds:(%rsi),%rax
9133  DB  197,124,16,128,128,0,0,0            ; vmovups       0x80(%rax),%ymm8
9134  DB  197,60,89,128,160,0,0,0             ; vmulps        0xa0(%rax),%ymm8,%ymm8
9135  DB  197,60,89,200                       ; vmulps        %ymm0,%ymm8,%ymm9
9136  DB  197,180,88,228                      ; vaddps        %ymm4,%ymm9,%ymm4
9137  DB  197,60,89,201                       ; vmulps        %ymm1,%ymm8,%ymm9
9138  DB  197,180,88,237                      ; vaddps        %ymm5,%ymm9,%ymm5
9139  DB  197,60,89,202                       ; vmulps        %ymm2,%ymm8,%ymm9
9140  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
9141  DB  197,60,89,195                       ; vmulps        %ymm3,%ymm8,%ymm8
9142  DB  197,188,88,255                      ; vaddps        %ymm7,%ymm8,%ymm7
9143  DB  72,173                              ; lods          %ds:(%rsi),%rax
9144  DB  255,224                             ; jmpq          *%rax
9145
9146PUBLIC _sk_bilinear_nx_avx
9147_sk_bilinear_nx_avx LABEL PROC
9148  DB  72,173                              ; lods          %ds:(%rsi),%rax
9149  DB  196,226,125,24,5,108,7,0,0          ; vbroadcastss  0x76c(%rip),%ymm0        # 5818 <_sk_callback_avx+0x42d>
9150  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
9151  DB  196,98,125,24,5,99,7,0,0            ; vbroadcastss  0x763(%rip),%ymm8        # 581c <_sk_callback_avx+0x431>
9152  DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
9153  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
9154  DB  72,173                              ; lods          %ds:(%rsi),%rax
9155  DB  255,224                             ; jmpq          *%rax
9156
9157PUBLIC _sk_bilinear_px_avx
9158_sk_bilinear_px_avx LABEL PROC
9159  DB  72,173                              ; lods          %ds:(%rsi),%rax
9160  DB  196,226,125,24,5,75,7,0,0           ; vbroadcastss  0x74b(%rip),%ymm0        # 5820 <_sk_callback_avx+0x435>
9161  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
9162  DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
9163  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
9164  DB  72,173                              ; lods          %ds:(%rsi),%rax
9165  DB  255,224                             ; jmpq          *%rax
9166
9167PUBLIC _sk_bilinear_ny_avx
9168_sk_bilinear_ny_avx LABEL PROC
9169  DB  72,173                              ; lods          %ds:(%rsi),%rax
9170  DB  196,226,125,24,13,47,7,0,0          ; vbroadcastss  0x72f(%rip),%ymm1        # 5824 <_sk_callback_avx+0x439>
9171  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
9172  DB  196,98,125,24,5,37,7,0,0            ; vbroadcastss  0x725(%rip),%ymm8        # 5828 <_sk_callback_avx+0x43d>
9173  DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
9174  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
9175  DB  72,173                              ; lods          %ds:(%rsi),%rax
9176  DB  255,224                             ; jmpq          *%rax
9177
9178PUBLIC _sk_bilinear_py_avx
9179_sk_bilinear_py_avx LABEL PROC
9180  DB  72,173                              ; lods          %ds:(%rsi),%rax
9181  DB  196,226,125,24,13,13,7,0,0          ; vbroadcastss  0x70d(%rip),%ymm1        # 582c <_sk_callback_avx+0x441>
9182  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
9183  DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
9184  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
9185  DB  72,173                              ; lods          %ds:(%rsi),%rax
9186  DB  255,224                             ; jmpq          *%rax
9187
9188PUBLIC _sk_bicubic_n3x_avx
9189_sk_bicubic_n3x_avx LABEL PROC
9190  DB  72,173                              ; lods          %ds:(%rsi),%rax
9191  DB  196,226,125,24,5,240,6,0,0          ; vbroadcastss  0x6f0(%rip),%ymm0        # 5830 <_sk_callback_avx+0x445>
9192  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
9193  DB  196,98,125,24,5,231,6,0,0           ; vbroadcastss  0x6e7(%rip),%ymm8        # 5834 <_sk_callback_avx+0x449>
9194  DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
9195  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
9196  DB  196,98,125,24,21,216,6,0,0          ; vbroadcastss  0x6d8(%rip),%ymm10        # 5838 <_sk_callback_avx+0x44d>
9197  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
9198  DB  196,98,125,24,21,206,6,0,0          ; vbroadcastss  0x6ce(%rip),%ymm10        # 583c <_sk_callback_avx+0x451>
9199  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
9200  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
9201  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
9202  DB  72,173                              ; lods          %ds:(%rsi),%rax
9203  DB  255,224                             ; jmpq          *%rax
9204
9205PUBLIC _sk_bicubic_n1x_avx
9206_sk_bicubic_n1x_avx LABEL PROC
9207  DB  72,173                              ; lods          %ds:(%rsi),%rax
9208  DB  196,226,125,24,5,177,6,0,0          ; vbroadcastss  0x6b1(%rip),%ymm0        # 5840 <_sk_callback_avx+0x455>
9209  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
9210  DB  196,98,125,24,5,168,6,0,0           ; vbroadcastss  0x6a8(%rip),%ymm8        # 5844 <_sk_callback_avx+0x459>
9211  DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
9212  DB  196,98,125,24,13,158,6,0,0          ; vbroadcastss  0x69e(%rip),%ymm9        # 5848 <_sk_callback_avx+0x45d>
9213  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
9214  DB  196,98,125,24,21,148,6,0,0          ; vbroadcastss  0x694(%rip),%ymm10        # 584c <_sk_callback_avx+0x461>
9215  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
9216  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
9217  DB  196,98,125,24,21,133,6,0,0          ; vbroadcastss  0x685(%rip),%ymm10        # 5850 <_sk_callback_avx+0x465>
9218  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
9219  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
9220  DB  196,98,125,24,13,118,6,0,0          ; vbroadcastss  0x676(%rip),%ymm9        # 5854 <_sk_callback_avx+0x469>
9221  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
9222  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
9223  DB  72,173                              ; lods          %ds:(%rsi),%rax
9224  DB  255,224                             ; jmpq          *%rax
9225
9226PUBLIC _sk_bicubic_p1x_avx
9227_sk_bicubic_p1x_avx LABEL PROC
9228  DB  72,173                              ; lods          %ds:(%rsi),%rax
9229  DB  196,98,125,24,5,94,6,0,0            ; vbroadcastss  0x65e(%rip),%ymm8        # 5858 <_sk_callback_avx+0x46d>
9230  DB  197,188,88,0                        ; vaddps        (%rax),%ymm8,%ymm0
9231  DB  197,124,16,72,64                    ; vmovups       0x40(%rax),%ymm9
9232  DB  196,98,125,24,21,80,6,0,0           ; vbroadcastss  0x650(%rip),%ymm10        # 585c <_sk_callback_avx+0x471>
9233  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
9234  DB  196,98,125,24,29,70,6,0,0           ; vbroadcastss  0x646(%rip),%ymm11        # 5860 <_sk_callback_avx+0x475>
9235  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
9236  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
9237  DB  196,65,44,88,192                    ; vaddps        %ymm8,%ymm10,%ymm8
9238  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
9239  DB  196,98,125,24,13,45,6,0,0           ; vbroadcastss  0x62d(%rip),%ymm9        # 5864 <_sk_callback_avx+0x479>
9240  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
9241  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
9242  DB  72,173                              ; lods          %ds:(%rsi),%rax
9243  DB  255,224                             ; jmpq          *%rax
9244
9245PUBLIC _sk_bicubic_p3x_avx
9246_sk_bicubic_p3x_avx LABEL PROC
9247  DB  72,173                              ; lods          %ds:(%rsi),%rax
9248  DB  196,226,125,24,5,21,6,0,0           ; vbroadcastss  0x615(%rip),%ymm0        # 5868 <_sk_callback_avx+0x47d>
9249  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
9250  DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
9251  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
9252  DB  196,98,125,24,21,2,6,0,0            ; vbroadcastss  0x602(%rip),%ymm10        # 586c <_sk_callback_avx+0x481>
9253  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
9254  DB  196,98,125,24,21,248,5,0,0          ; vbroadcastss  0x5f8(%rip),%ymm10        # 5870 <_sk_callback_avx+0x485>
9255  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
9256  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
9257  DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
9258  DB  72,173                              ; lods          %ds:(%rsi),%rax
9259  DB  255,224                             ; jmpq          *%rax
9260
9261PUBLIC _sk_bicubic_n3y_avx
9262_sk_bicubic_n3y_avx LABEL PROC
9263  DB  72,173                              ; lods          %ds:(%rsi),%rax
9264  DB  196,226,125,24,13,219,5,0,0         ; vbroadcastss  0x5db(%rip),%ymm1        # 5874 <_sk_callback_avx+0x489>
9265  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
9266  DB  196,98,125,24,5,209,5,0,0           ; vbroadcastss  0x5d1(%rip),%ymm8        # 5878 <_sk_callback_avx+0x48d>
9267  DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
9268  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
9269  DB  196,98,125,24,21,194,5,0,0          ; vbroadcastss  0x5c2(%rip),%ymm10        # 587c <_sk_callback_avx+0x491>
9270  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
9271  DB  196,98,125,24,21,184,5,0,0          ; vbroadcastss  0x5b8(%rip),%ymm10        # 5880 <_sk_callback_avx+0x495>
9272  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
9273  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
9274  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
9275  DB  72,173                              ; lods          %ds:(%rsi),%rax
9276  DB  255,224                             ; jmpq          *%rax
9277
9278PUBLIC _sk_bicubic_n1y_avx
9279_sk_bicubic_n1y_avx LABEL PROC
9280  DB  72,173                              ; lods          %ds:(%rsi),%rax
9281  DB  196,226,125,24,13,155,5,0,0         ; vbroadcastss  0x59b(%rip),%ymm1        # 5884 <_sk_callback_avx+0x499>
9282  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
9283  DB  196,98,125,24,5,145,5,0,0           ; vbroadcastss  0x591(%rip),%ymm8        # 5888 <_sk_callback_avx+0x49d>
9284  DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
9285  DB  196,98,125,24,13,135,5,0,0          ; vbroadcastss  0x587(%rip),%ymm9        # 588c <_sk_callback_avx+0x4a1>
9286  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
9287  DB  196,98,125,24,21,125,5,0,0          ; vbroadcastss  0x57d(%rip),%ymm10        # 5890 <_sk_callback_avx+0x4a5>
9288  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
9289  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
9290  DB  196,98,125,24,21,110,5,0,0          ; vbroadcastss  0x56e(%rip),%ymm10        # 5894 <_sk_callback_avx+0x4a9>
9291  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
9292  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
9293  DB  196,98,125,24,13,95,5,0,0           ; vbroadcastss  0x55f(%rip),%ymm9        # 5898 <_sk_callback_avx+0x4ad>
9294  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
9295  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
9296  DB  72,173                              ; lods          %ds:(%rsi),%rax
9297  DB  255,224                             ; jmpq          *%rax
9298
9299PUBLIC _sk_bicubic_p1y_avx
9300_sk_bicubic_p1y_avx LABEL PROC
9301  DB  72,173                              ; lods          %ds:(%rsi),%rax
9302  DB  196,98,125,24,5,71,5,0,0            ; vbroadcastss  0x547(%rip),%ymm8        # 589c <_sk_callback_avx+0x4b1>
9303  DB  197,188,88,72,32                    ; vaddps        0x20(%rax),%ymm8,%ymm1
9304  DB  197,124,16,72,96                    ; vmovups       0x60(%rax),%ymm9
9305  DB  196,98,125,24,21,56,5,0,0           ; vbroadcastss  0x538(%rip),%ymm10        # 58a0 <_sk_callback_avx+0x4b5>
9306  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
9307  DB  196,98,125,24,29,46,5,0,0           ; vbroadcastss  0x52e(%rip),%ymm11        # 58a4 <_sk_callback_avx+0x4b9>
9308  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
9309  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
9310  DB  196,65,44,88,192                    ; vaddps        %ymm8,%ymm10,%ymm8
9311  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
9312  DB  196,98,125,24,13,21,5,0,0           ; vbroadcastss  0x515(%rip),%ymm9        # 58a8 <_sk_callback_avx+0x4bd>
9313  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
9314  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
9315  DB  72,173                              ; lods          %ds:(%rsi),%rax
9316  DB  255,224                             ; jmpq          *%rax
9317
9318PUBLIC _sk_bicubic_p3y_avx
9319_sk_bicubic_p3y_avx LABEL PROC
9320  DB  72,173                              ; lods          %ds:(%rsi),%rax
9321  DB  196,226,125,24,13,253,4,0,0         ; vbroadcastss  0x4fd(%rip),%ymm1        # 58ac <_sk_callback_avx+0x4c1>
9322  DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
9323  DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
9324  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
9325  DB  196,98,125,24,21,233,4,0,0          ; vbroadcastss  0x4e9(%rip),%ymm10        # 58b0 <_sk_callback_avx+0x4c5>
9326  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
9327  DB  196,98,125,24,21,223,4,0,0          ; vbroadcastss  0x4df(%rip),%ymm10        # 58b4 <_sk_callback_avx+0x4c9>
9328  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
9329  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
9330  DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
9331  DB  72,173                              ; lods          %ds:(%rsi),%rax
9332  DB  255,224                             ; jmpq          *%rax
9333
9334PUBLIC _sk_callback_avx
9335_sk_callback_avx LABEL PROC
9336  DB  65,87                               ; push          %r15
9337  DB  65,86                               ; push          %r14
9338  DB  83                                  ; push          %rbx
9339  DB  72,129,236,160,0,0,0                ; sub           $0xa0,%rsp
9340  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
9341  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
9342  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
9343  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
9344  DB  73,137,207                          ; mov           %rcx,%r15
9345  DB  73,137,214                          ; mov           %rdx,%r14
9346  DB  72,173                              ; lods          %ds:(%rsi),%rax
9347  DB  72,137,195                          ; mov           %rax,%rbx
9348  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
9349  DB  197,252,21,193                      ; vunpckhps     %ymm1,%ymm0,%ymm0
9350  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
9351  DB  197,236,21,211                      ; vunpckhps     %ymm3,%ymm2,%ymm2
9352  DB  197,221,20,217                      ; vunpcklpd     %ymm1,%ymm4,%ymm3
9353  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
9354  DB  197,253,20,226                      ; vunpcklpd     %ymm2,%ymm0,%ymm4
9355  DB  197,253,21,194                      ; vunpckhpd     %ymm2,%ymm0,%ymm0
9356  DB  196,227,101,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
9357  DB  196,227,93,24,232,1                 ; vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
9358  DB  196,227,101,6,201,49                ; vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
9359  DB  196,227,93,6,192,49                 ; vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
9360  DB  197,253,17,83,8                     ; vmovupd       %ymm2,0x8(%rbx)
9361  DB  197,253,17,107,40                   ; vmovupd       %ymm5,0x28(%rbx)
9362  DB  197,253,17,75,72                    ; vmovupd       %ymm1,0x48(%rbx)
9363  DB  197,253,17,67,104                   ; vmovupd       %ymm0,0x68(%rbx)
9364  DB  77,133,255                          ; test          %r15,%r15
9365  DB  186,8,0,0,0                         ; mov           $0x8,%edx
9366  DB  65,15,69,215                        ; cmovne        %r15d,%edx
9367  DB  72,137,217                          ; mov           %rbx,%rcx
9368  DB  197,248,119                         ; vzeroupper
9369  DB  255,19                              ; callq         *(%rbx)
9370  DB  72,139,131,136,0,0,0                ; mov           0x88(%rbx),%rax
9371  DB  197,248,16,0                        ; vmovups       (%rax),%xmm0
9372  DB  197,248,16,72,16                    ; vmovups       0x10(%rax),%xmm1
9373  DB  197,248,16,80,32                    ; vmovups       0x20(%rax),%xmm2
9374  DB  197,248,16,88,48                    ; vmovups       0x30(%rax),%xmm3
9375  DB  196,227,101,24,88,112,1             ; vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
9376  DB  196,227,109,24,80,96,1              ; vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
9377  DB  196,227,117,24,72,80,1              ; vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
9378  DB  196,227,125,24,64,64,1              ; vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
9379  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
9380  DB  197,252,21,233                      ; vunpckhps     %ymm1,%ymm0,%ymm5
9381  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
9382  DB  197,236,21,219                      ; vunpckhps     %ymm3,%ymm2,%ymm3
9383  DB  197,221,20,193                      ; vunpcklpd     %ymm1,%ymm4,%ymm0
9384  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
9385  DB  197,213,20,211                      ; vunpcklpd     %ymm3,%ymm5,%ymm2
9386  DB  197,213,21,219                      ; vunpckhpd     %ymm3,%ymm5,%ymm3
9387  DB  72,173                              ; lods          %ds:(%rsi),%rax
9388  DB  76,137,242                          ; mov           %r14,%rdx
9389  DB  76,137,249                          ; mov           %r15,%rcx
9390  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
9391  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
9392  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
9393  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
9394  DB  72,129,196,160,0,0,0                ; add           $0xa0,%rsp
9395  DB  91                                  ; pop           %rbx
9396  DB  65,94                               ; pop           %r14
9397  DB  65,95                               ; pop           %r15
9398  DB  255,224                             ; jmpq          *%rax
9399
9400ALIGN 4
9401  DB  0,0                                 ; add           %al,(%rax)
9402  DB  0,63                                ; add           %bh,(%rdi)
9403  DB  0,0                                 ; add           %al,(%rax)
9404  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9405  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
9406  DB  63                                  ; (bad)
9407  DB  0,0                                 ; add           %al,(%rax)
9408  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9409  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
9410  DB  63                                  ; (bad)
9411  DB  0,0                                 ; add           %al,(%rax)
9412  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9413  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
9414  DB  63                                  ; (bad)
9415  DB  0,0                                 ; add           %al,(%rax)
9416  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9417  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
9418  DB  63                                  ; (bad)
9419  DB  0,0                                 ; add           %al,(%rax)
9420  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9421  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
9422  DB  63                                  ; (bad)
9423  DB  0,0                                 ; add           %al,(%rax)
9424  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9425  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
9426  DB  63                                  ; (bad)
9427  DB  0,0                                 ; add           %al,(%rax)
9428  DB  128,191,0,0,224,64,0                ; cmpb          $0x0,0x40e00000(%rdi)
9429  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
9430  DB  63                                  ; (bad)
9431  DB  0,0                                 ; add           %al,(%rax)
9432  DB  128,63,145                          ; cmpb          $0x91,(%rdi)
9433  DB  131,158,61,154,153,153,62           ; sbbl          $0x3e,-0x666665c3(%rsi)
9434  DB  92                                  ; pop           %rsp
9435  DB  143                                 ; (bad)
9436  DB  50,63                               ; xor           (%rdi),%bh
9437  DB  10,215                              ; or            %bh,%dl
9438  DB  35,59                               ; and           (%rbx),%edi
9439  DB  174                                 ; scas          %es:(%rdi),%al
9440  DB  71,97                               ; rex.RXB       (bad)
9441  DB  61,41,92,71,65                      ; cmp           $0x41475c29,%eax
9442  DB  206                                 ; (bad)
9443  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
9444  DB  48,63                               ; xor           %bh,(%rdi)
9445  DB  168,87                              ; test          $0x57,%al
9446  DB  202,189,194                         ; lret          $0xc2bd
9447  DB  135,210                             ; xchg          %edx,%edx
9448  DB  62,0,0                              ; add           %al,%ds:(%rax)
9449  DB  128,63,4                            ; cmpb          $0x4,(%rdi)
9450  DB  231,140                             ; out           %eax,$0x8c
9451  DB  59,0                                ; cmp           (%rax),%eax
9452  DB  0,128,63,0,0,192                    ; add           %al,-0x3fffffc1(%rax)
9453  DB  64,0,0                              ; add           %al,(%rax)
9454  DB  0,64,0                              ; add           %al,0x0(%rax)
9455  DB  0,128,64,171,170,42                 ; add           %al,0x2aaaab40(%rax)
9456  DB  62,0,0                              ; add           %al,%ds:(%rax)
9457  DB  0,63                                ; add           %bh,(%rdi)
9458  DB  0,0                                 ; add           %al,(%rax)
9459  DB  0,63                                ; add           %bh,(%rdi)
9460  DB  171                                 ; stos          %eax,%es:(%rdi)
9461  DB  170                                 ; stos          %al,%es:(%rdi)
9462  DB  170                                 ; stos          %al,%es:(%rdi)
9463  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
9464  DB  170                                 ; stos          %al,%es:(%rdi)
9465  DB  42,63                               ; sub           (%rdi),%bh
9466  DB  0,0                                 ; add           %al,(%rax)
9467  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
9468  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%rax)
9469  DB  42,62                               ; sub           (%rsi),%bh
9470  DB  171                                 ; stos          %eax,%es:(%rdi)
9471  DB  170                                 ; stos          %al,%es:(%rdi)
9472  DB  170                                 ; stos          %al,%es:(%rdi)
9473  DB  190,129,128,128,59                  ; mov           $0x3b808081,%esi
9474  DB  129,128,128,59,0,248,0,0,8,33       ; addl          $0x21080000,-0x7ffc480(%rax)
9475  DB  132,55                              ; test          %dh,(%rdi)
9476  DB  224,7                               ; loopne        55dd <.literal4+0xd9>
9477  DB  0,0                                 ; add           %al,(%rax)
9478  DB  33,8                                ; and           %ecx,(%rax)
9479  DB  2,58                                ; add           (%rdx),%bh
9480  DB  31                                  ; (bad)
9481  DB  0,0                                 ; add           %al,(%rax)
9482  DB  0,8                                 ; add           %cl,(%rax)
9483  DB  33,4,61,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
9484  DB  129,128,128,59,128,0,128,55,0,0     ; addl          $0x3780,0x803b80(%rax)
9485  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9486  DB  0,127,67                            ; add           %bh,0x43(%rdi)
9487  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
9488  DB  0,52,255                            ; add           %dh,(%rdi,%rdi,8)
9489  DB  255                                 ; (bad)
9490  DB  127,0                               ; jg            5608 <.literal4+0x104>
9491  DB  0,0                                 ; add           %al,(%rax)
9492  DB  0,63                                ; add           %bh,(%rdi)
9493  DB  119,115                             ; ja            5681 <.literal4+0x17d>
9494  DB  248                                 ; clc
9495  DB  194,117,191                         ; retq          $0xbf75
9496  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
9497  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
9498  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
9499  DB  154                                 ; (bad)
9500  DB  64,254                              ; rex           (bad)
9501  DB  210,221                             ; rcr           %cl,%ch
9502  DB  65,0,0                              ; add           %al,(%r8)
9503  DB  0,75,0                              ; add           %cl,0x0(%rbx)
9504  DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
9505  DB  52,255                              ; xor           $0xff,%al
9506  DB  255                                 ; (bad)
9507  DB  127,0                               ; jg            563c <.literal4+0x138>
9508  DB  0,0                                 ; add           %al,(%rax)
9509  DB  0,63                                ; add           %bh,(%rdi)
9510  DB  119,115                             ; ja            56b5 <.literal4+0x1b1>
9511  DB  248                                 ; clc
9512  DB  194,117,191                         ; retq          $0xbf75
9513  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
9514  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
9515  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
9516  DB  154                                 ; (bad)
9517  DB  64,254                              ; rex           (bad)
9518  DB  210,221                             ; rcr           %cl,%ch
9519  DB  65,0,0                              ; add           %al,(%r8)
9520  DB  0,75,0                              ; add           %cl,0x0(%rbx)
9521  DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
9522  DB  52,255                              ; xor           $0xff,%al
9523  DB  255                                 ; (bad)
9524  DB  127,0                               ; jg            5670 <.literal4+0x16c>
9525  DB  0,0                                 ; add           %al,(%rax)
9526  DB  0,63                                ; add           %bh,(%rdi)
9527  DB  119,115                             ; ja            56e9 <.literal4+0x1e5>
9528  DB  248                                 ; clc
9529  DB  194,117,191                         ; retq          $0xbf75
9530  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
9531  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
9532  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
9533  DB  154                                 ; (bad)
9534  DB  64,254                              ; rex           (bad)
9535  DB  210,221                             ; rcr           %cl,%ch
9536  DB  65,0,0                              ; add           %al,(%r8)
9537  DB  0,75,0                              ; add           %cl,0x0(%rbx)
9538  DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
9539  DB  52,255                              ; xor           $0xff,%al
9540  DB  255                                 ; (bad)
9541  DB  127,0                               ; jg            56a4 <.literal4+0x1a0>
9542  DB  0,0                                 ; add           %al,(%rax)
9543  DB  0,63                                ; add           %bh,(%rdi)
9544  DB  119,115                             ; ja            571d <.literal4+0x219>
9545  DB  248                                 ; clc
9546  DB  194,117,191                         ; retq          $0xbf75
9547  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
9548  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
9549  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
9550  DB  154                                 ; (bad)
9551  DB  64,254                              ; rex           (bad)
9552  DB  210,221                             ; rcr           %cl,%ch
9553  DB  65,0,0                              ; add           %al,(%r8)
9554  DB  0,75,0                              ; add           %cl,0x0(%rbx)
9555  DB  0,128,63,0,0,200                    ; add           %al,-0x37ffffc1(%rax)
9556  DB  66,0,0                              ; rex.X         add %al,(%rax)
9557  DB  127,67                              ; jg            571b <.literal4+0x217>
9558  DB  0,0                                 ; add           %al,(%rax)
9559  DB  0,195                               ; add           %al,%bl
9560  DB  0,0                                 ; add           %al,(%rax)
9561  DB  128,65,203,61                       ; addb          $0x3d,-0x35(%rcx)
9562  DB  13,60,111,18,3                      ; or            $0x3126f3c,%eax
9563  DB  59,10                               ; cmp           (%rdx),%ecx
9564  DB  215                                 ; xlat          %ds:(%rbx)
9565  DB  163,59,194,24,17,60,203,61,13       ; movabs        %eax,0xd3dcb3c1118c23b
9566  DB  190,80,128,3,62                     ; mov           $0x3e038050,%esi
9567  DB  31                                  ; (bad)
9568  DB  215                                 ; xlat          %ds:(%rbx)
9569  DB  118,63                              ; jbe           573b <.literal4+0x237>
9570  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
9571  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
9572  DB  127,67                              ; jg            574f <.literal4+0x24b>
9573  DB  129,128,128,59,0,0,128,63,129,128   ; addl          $0x80813f80,0x3b80(%rax)
9574  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
9575  DB  0,128,63,129,128,128                ; add           %al,-0x7f7f7ec1(%rax)
9576  DB  59,0                                ; cmp           (%rax),%eax
9577  DB  248                                 ; clc
9578  DB  0,0                                 ; add           %al,(%rax)
9579  DB  8,33                                ; or            %ah,(%rcx)
9580  DB  132,55                              ; test          %dh,(%rdi)
9581  DB  224,7                               ; loopne        5731 <.literal4+0x22d>
9582  DB  0,0                                 ; add           %al,(%rax)
9583  DB  33,8                                ; and           %ecx,(%rax)
9584  DB  2,58                                ; add           (%rdx),%bh
9585  DB  31                                  ; (bad)
9586  DB  0,0                                 ; add           %al,(%rax)
9587  DB  0,8                                 ; add           %cl,(%rax)
9588  DB  33,4,61,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
9589  DB  0,248                               ; add           %bh,%al
9590  DB  0,0                                 ; add           %al,(%rax)
9591  DB  8,33                                ; or            %ah,(%rcx)
9592  DB  132,55                              ; test          %dh,(%rdi)
9593  DB  224,7                               ; loopne        574d <.literal4+0x249>
9594  DB  0,0                                 ; add           %al,(%rax)
9595  DB  33,8                                ; and           %ecx,(%rax)
9596  DB  2,58                                ; add           (%rdx),%bh
9597  DB  31                                  ; (bad)
9598  DB  0,0                                 ; add           %al,(%rax)
9599  DB  0,8                                 ; add           %cl,(%rax)
9600  DB  33,4,61,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
9601  DB  0,0                                 ; add           %al,(%rax)
9602  DB  248                                 ; clc
9603  DB  65,0,0                              ; add           %al,(%r8)
9604  DB  124,66                              ; jl            57a2 <.literal4+0x29e>
9605  DB  0,240                               ; add           %dh,%al
9606  DB  0,0                                 ; add           %al,(%rax)
9607  DB  137,136,136,55,0,15                 ; mov           %ecx,0xf003788(%rax)
9608  DB  0,0                                 ; add           %al,(%rax)
9609  DB  137,136,136,57,240,0                ; mov           %ecx,0xf03988(%rax)
9610  DB  0,0                                 ; add           %al,(%rax)
9611  DB  137,136,136,59,15,0                 ; mov           %ecx,0xf3b88(%rax)
9612  DB  0,0                                 ; add           %al,(%rax)
9613  DB  137,136,136,61,0,240                ; mov           %ecx,-0xfffc278(%rax)
9614  DB  0,0                                 ; add           %al,(%rax)
9615  DB  137,136,136,55,0,15                 ; mov           %ecx,0xf003788(%rax)
9616  DB  0,0                                 ; add           %al,(%rax)
9617  DB  137,136,136,57,240,0                ; mov           %ecx,0xf03988(%rax)
9618  DB  0,0                                 ; add           %al,(%rax)
9619  DB  137,136,136,59,15,0                 ; mov           %ecx,0xf3b88(%rax)
9620  DB  0,0                                 ; add           %al,(%rax)
9621  DB  137,136,136,61,0,0                  ; mov           %ecx,0x3d88(%rax)
9622  DB  112,65                              ; jo            57e5 <.literal4+0x2e1>
9623  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
9624  DB  127,67                              ; jg            57f3 <.literal4+0x2ef>
9625  DB  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
9626  DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
9627  DB  0,0                                 ; add           %al,(%rax)
9628  DB  0,56                                ; add           %bh,(%rax)
9629  DB  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
9630  DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
9631  DB  0,0                                 ; add           %al,(%rax)
9632  DB  0,56                                ; add           %bh,(%rax)
9633  DB  0,0                                 ; add           %al,(%rax)
9634  DB  0,128,0,0,128,56                    ; add           %al,0x38800000(%rax)
9635  DB  0,64,254                            ; add           %al,-0x2(%rax)
9636  DB  255,128,0,128,55,128                ; incl          -0x7fc88000(%rax)
9637  DB  0,128,55,0,0,128                    ; add           %al,-0x7fffffc9(%rax)
9638  DB  63                                  ; (bad)
9639  DB  0,255                               ; add           %bh,%bh
9640  DB  127,71                              ; jg            5833 <.literal4+0x32f>
9641  DB  208                                 ; (bad)
9642  DB  179,89                              ; mov           $0x59,%bl
9643  DB  62,89                               ; ds            pop %rcx
9644  DB  23                                  ; (bad)
9645  DB  55                                  ; (bad)
9646  DB  63                                  ; (bad)
9647  DB  152                                 ; cwtl
9648  DB  221,147,61,111,43,231               ; fstl          -0x18d490c3(%rbx)
9649  DB  187,159,215,202,60                  ; mov           $0x3ccad79f,%ebx
9650  DB  212                                 ; (bad)
9651  DB  100,84                              ; fs            push %rsp
9652  DB  189,169,240,34,62                   ; mov           $0x3e22f0a9,%ebp
9653  DB  0,0                                 ; add           %al,(%rax)
9654  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
9655  DB  0,0                                 ; add           %al,(%rax)
9656  DB  63                                  ; (bad)
9657  DB  0,0                                 ; add           %al,(%rax)
9658  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
9659  DB  0,0                                 ; add           %al,(%rax)
9660  DB  63                                  ; (bad)
9661  DB  0,0                                 ; add           %al,(%rax)
9662  DB  0,191,0,0,128,63                    ; add           %bh,0x3f800000(%rdi)
9663  DB  0,0                                 ; add           %al,(%rax)
9664  DB  0,63                                ; add           %bh,(%rdi)
9665  DB  0,0                                 ; add           %al,(%rax)
9666  DB  0,191,0,0,128,63                    ; add           %bh,0x3f800000(%rdi)
9667  DB  0,0                                 ; add           %al,(%rax)
9668  DB  0,63                                ; add           %bh,(%rdi)
9669  DB  0,0                                 ; add           %al,(%rax)
9670  DB  192,191,0,0,128,63,114              ; sarb          $0x72,0x3f800000(%rdi)
9671  DB  28,199                              ; sbb           $0xc7,%al
9672  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
9673  DB  170                                 ; stos          %al,%es:(%rdi)
9674  DB  170                                 ; stos          %al,%es:(%rdi)
9675  DB  190,0,0,0,191                       ; mov           $0xbf000000,%esi
9676  DB  0,0                                 ; add           %al,(%rax)
9677  DB  128,63,85                           ; cmpb          $0x55,(%rdi)
9678  DB  85                                  ; push          %rbp
9679  DB  149                                 ; xchg          %eax,%ebp
9680  DB  191,0,0,192,63                      ; mov           $0x3fc00000,%edi
9681  DB  0,0                                 ; add           %al,(%rax)
9682  DB  0,63                                ; add           %bh,(%rdi)
9683  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
9684  DB  0,63                                ; add           %bh,(%rdi)
9685  DB  85                                  ; push          %rbp
9686  DB  85                                  ; push          %rbp
9687  DB  149                                 ; xchg          %eax,%ebp
9688  DB  191,0,0,192,63                      ; mov           $0x3fc00000,%edi
9689  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
9690  DB  192,63,114                          ; sarb          $0x72,(%rdi)
9691  DB  28,199                              ; sbb           $0xc7,%al
9692  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
9693  DB  170                                 ; stos          %al,%es:(%rdi)
9694  DB  170                                 ; stos          %al,%es:(%rdi)
9695  DB  190,0,0,192,191                     ; mov           $0xbfc00000,%esi
9696  DB  0,0                                 ; add           %al,(%rax)
9697  DB  128,63,114                          ; cmpb          $0x72,(%rdi)
9698  DB  28,199                              ; sbb           $0xc7,%al
9699  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
9700  DB  170                                 ; stos          %al,%es:(%rdi)
9701  DB  170                                 ; stos          %al,%es:(%rdi)
9702  DB  190,0,0,0,191                       ; mov           $0xbf000000,%esi
9703  DB  0,0                                 ; add           %al,(%rax)
9704  DB  128,63,85                           ; cmpb          $0x55,(%rdi)
9705  DB  85                                  ; push          %rbp
9706  DB  149                                 ; xchg          %eax,%ebp
9707  DB  191,0,0,192,63                      ; mov           $0x3fc00000,%edi
9708  DB  0,0                                 ; add           %al,(%rax)
9709  DB  0,63                                ; add           %bh,(%rdi)
9710  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
9711  DB  0,63                                ; add           %bh,(%rdi)
9712  DB  85                                  ; push          %rbp
9713  DB  85                                  ; push          %rbp
9714  DB  149                                 ; xchg          %eax,%ebp
9715  DB  191,0,0,192,63                      ; mov           $0x3fc00000,%edi
9716  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
9717  DB  192,63,114                          ; sarb          $0x72,(%rdi)
9718  DB  28,199                              ; sbb           $0xc7,%al
9719  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
9720  DB  170                                 ; stos          %al,%es:(%rdi)
9721  DB  170                                 ; stos          %al,%es:(%rdi)
9722  DB  190                                 ; .byte         0xbe
9723
9724ALIGN 32
9725  DB  255,0                               ; incl          (%rax)
9726  DB  0,0                                 ; add           %al,(%rax)
9727  DB  255,0                               ; incl          (%rax)
9728  DB  0,0                                 ; add           %al,(%rax)
9729  DB  255,0                               ; incl          (%rax)
9730  DB  0,0                                 ; add           %al,(%rax)
9731  DB  255,0                               ; incl          (%rax)
9732  DB  0,0                                 ; add           %al,(%rax)
9733  DB  255,0                               ; incl          (%rax)
9734  DB  0,0                                 ; add           %al,(%rax)
9735  DB  255,0                               ; incl          (%rax)
9736  DB  0,0                                 ; add           %al,(%rax)
9737  DB  255,0                               ; incl          (%rax)
9738  DB  0,0                                 ; add           %al,(%rax)
9739  DB  255,0                               ; incl          (%rax)
9740  DB  0,0                                 ; add           %al,(%rax)
9741  DB  255,0                               ; incl          (%rax)
9742  DB  0,0                                 ; add           %al,(%rax)
9743  DB  255,0                               ; incl          (%rax)
9744  DB  0,0                                 ; add           %al,(%rax)
9745  DB  255,0                               ; incl          (%rax)
9746  DB  0,0                                 ; add           %al,(%rax)
9747  DB  255,0                               ; incl          (%rax)
9748  DB  0,0                                 ; add           %al,(%rax)
9749  DB  255,0                               ; incl          (%rax)
9750  DB  0,0                                 ; add           %al,(%rax)
9751  DB  255,0                               ; incl          (%rax)
9752  DB  0,0                                 ; add           %al,(%rax)
9753  DB  255,0                               ; incl          (%rax)
9754  DB  0,0                                 ; add           %al,(%rax)
9755  DB  255,0                               ; incl          (%rax)
9756  DB  0,0                                 ; add           %al,(%rax)
9757  DB  255,0                               ; incl          (%rax)
9758  DB  0,0                                 ; add           %al,(%rax)
9759  DB  255,0                               ; incl          (%rax)
9760  DB  0,0                                 ; add           %al,(%rax)
9761  DB  255,0                               ; incl          (%rax)
9762  DB  0,0                                 ; add           %al,(%rax)
9763  DB  255,0                               ; incl          (%rax)
9764  DB  0,0                                 ; add           %al,(%rax)
9765  DB  255,0                               ; incl          (%rax)
9766  DB  0,0                                 ; add           %al,(%rax)
9767  DB  255,0                               ; incl          (%rax)
9768  DB  0,0                                 ; add           %al,(%rax)
9769  DB  255,0                               ; incl          (%rax)
9770  DB  0,0                                 ; add           %al,(%rax)
9771  DB  255,0                               ; incl          (%rax)
9772  DB  0,0                                 ; add           %al,(%rax)
9773  DB  255,0                               ; incl          (%rax)
9774  DB  0,0                                 ; add           %al,(%rax)
9775  DB  255,0                               ; incl          (%rax)
9776  DB  0,0                                 ; add           %al,(%rax)
9777  DB  255,0                               ; incl          (%rax)
9778  DB  0,0                                 ; add           %al,(%rax)
9779  DB  255,0                               ; incl          (%rax)
9780  DB  0,0                                 ; add           %al,(%rax)
9781  DB  255,0                               ; incl          (%rax)
9782  DB  0,0                                 ; add           %al,(%rax)
9783  DB  255,0                               ; incl          (%rax)
9784  DB  0,0                                 ; add           %al,(%rax)
9785  DB  255,0                               ; incl          (%rax)
9786  DB  0,0                                 ; add           %al,(%rax)
9787  DB  255,0                               ; incl          (%rax)
9788  DB  0,0                                 ; add           %al,(%rax)
9789
9790ALIGN 16
9791  DB  255,0                               ; incl          (%rax)
9792  DB  255,0                               ; incl          (%rax)
9793  DB  255,0                               ; incl          (%rax)
9794  DB  255,0                               ; incl          (%rax)
9795  DB  255,0                               ; incl          (%rax)
9796  DB  255,0                               ; incl          (%rax)
9797  DB  255,0                               ; incl          (%rax)
9798  DB  255,0                               ; incl          (%rax)
9799  DB  255,0                               ; incl          (%rax)
9800  DB  255,0                               ; incl          (%rax)
9801  DB  255,0                               ; incl          (%rax)
9802  DB  255,0                               ; incl          (%rax)
9803  DB  255,0                               ; incl          (%rax)
9804  DB  255,0                               ; incl          (%rax)
9805  DB  255,0                               ; incl          (%rax)
9806  DB  255,0                               ; incl          (%rax)
9807ALIGN 32
9808
9809PUBLIC _sk_start_pipeline_sse41
9810_sk_start_pipeline_sse41 LABEL PROC
9811  DB  65,87                               ; push          %r15
9812  DB  65,86                               ; push          %r14
9813  DB  65,85                               ; push          %r13
9814  DB  65,84                               ; push          %r12
9815  DB  86                                  ; push          %rsi
9816  DB  87                                  ; push          %rdi
9817  DB  83                                  ; push          %rbx
9818  DB  72,129,236,160,0,0,0                ; sub           $0xa0,%rsp
9819  DB  68,15,41,188,36,144,0,0,0           ; movaps        %xmm15,0x90(%rsp)
9820  DB  68,15,41,180,36,128,0,0,0           ; movaps        %xmm14,0x80(%rsp)
9821  DB  68,15,41,108,36,112                 ; movaps        %xmm13,0x70(%rsp)
9822  DB  68,15,41,100,36,96                  ; movaps        %xmm12,0x60(%rsp)
9823  DB  68,15,41,92,36,80                   ; movaps        %xmm11,0x50(%rsp)
9824  DB  68,15,41,84,36,64                   ; movaps        %xmm10,0x40(%rsp)
9825  DB  68,15,41,76,36,48                   ; movaps        %xmm9,0x30(%rsp)
9826  DB  68,15,41,68,36,32                   ; movaps        %xmm8,0x20(%rsp)
9827  DB  15,41,124,36,16                     ; movaps        %xmm7,0x10(%rsp)
9828  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
9829  DB  77,137,207                          ; mov           %r9,%r15
9830  DB  77,137,198                          ; mov           %r8,%r14
9831  DB  72,137,203                          ; mov           %rcx,%rbx
9832  DB  72,137,214                          ; mov           %rdx,%rsi
9833  DB  72,173                              ; lods          %ds:(%rsi),%rax
9834  DB  73,137,196                          ; mov           %rax,%r12
9835  DB  73,137,245                          ; mov           %rsi,%r13
9836  DB  72,141,67,4                         ; lea           0x4(%rbx),%rax
9837  DB  76,57,248                           ; cmp           %r15,%rax
9838  DB  118,5                               ; jbe           73 <_sk_start_pipeline_sse41+0x73>
9839  DB  72,137,216                          ; mov           %rbx,%rax
9840  DB  235,52                              ; jmp           a7 <_sk_start_pipeline_sse41+0xa7>
9841  DB  15,87,192                           ; xorps         %xmm0,%xmm0
9842  DB  15,87,201                           ; xorps         %xmm1,%xmm1
9843  DB  15,87,210                           ; xorps         %xmm2,%xmm2
9844  DB  15,87,219                           ; xorps         %xmm3,%xmm3
9845  DB  15,87,228                           ; xorps         %xmm4,%xmm4
9846  DB  15,87,237                           ; xorps         %xmm5,%xmm5
9847  DB  15,87,246                           ; xorps         %xmm6,%xmm6
9848  DB  15,87,255                           ; xorps         %xmm7,%xmm7
9849  DB  72,137,223                          ; mov           %rbx,%rdi
9850  DB  76,137,238                          ; mov           %r13,%rsi
9851  DB  76,137,242                          ; mov           %r14,%rdx
9852  DB  65,255,212                          ; callq         *%r12
9853  DB  72,141,67,4                         ; lea           0x4(%rbx),%rax
9854  DB  72,131,195,8                        ; add           $0x8,%rbx
9855  DB  76,57,251                           ; cmp           %r15,%rbx
9856  DB  72,137,195                          ; mov           %rax,%rbx
9857  DB  118,204                             ; jbe           73 <_sk_start_pipeline_sse41+0x73>
9858  DB  15,40,52,36                         ; movaps        (%rsp),%xmm6
9859  DB  15,40,124,36,16                     ; movaps        0x10(%rsp),%xmm7
9860  DB  68,15,40,68,36,32                   ; movaps        0x20(%rsp),%xmm8
9861  DB  68,15,40,76,36,48                   ; movaps        0x30(%rsp),%xmm9
9862  DB  68,15,40,84,36,64                   ; movaps        0x40(%rsp),%xmm10
9863  DB  68,15,40,92,36,80                   ; movaps        0x50(%rsp),%xmm11
9864  DB  68,15,40,100,36,96                  ; movaps        0x60(%rsp),%xmm12
9865  DB  68,15,40,108,36,112                 ; movaps        0x70(%rsp),%xmm13
9866  DB  68,15,40,180,36,128,0,0,0           ; movaps        0x80(%rsp),%xmm14
9867  DB  68,15,40,188,36,144,0,0,0           ; movaps        0x90(%rsp),%xmm15
9868  DB  72,129,196,160,0,0,0                ; add           $0xa0,%rsp
9869  DB  91                                  ; pop           %rbx
9870  DB  95                                  ; pop           %rdi
9871  DB  94                                  ; pop           %rsi
9872  DB  65,92                               ; pop           %r12
9873  DB  65,93                               ; pop           %r13
9874  DB  65,94                               ; pop           %r14
9875  DB  65,95                               ; pop           %r15
9876  DB  195                                 ; retq
9877
9878PUBLIC _sk_just_return_sse41
9879_sk_just_return_sse41 LABEL PROC
9880  DB  195                                 ; retq
9881
9882PUBLIC _sk_seed_shader_sse41
9883_sk_seed_shader_sse41 LABEL PROC
9884  DB  72,173                              ; lods          %ds:(%rsi),%rax
9885  DB  102,15,110,199                      ; movd          %edi,%xmm0
9886  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
9887  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
9888  DB  15,40,21,81,57,0,0                  ; movaps        0x3951(%rip),%xmm2        # 3a60 <_sk_callback_sse41+0xb2>
9889  DB  15,88,202                           ; addps         %xmm2,%xmm1
9890  DB  15,16,2                             ; movups        (%rdx),%xmm0
9891  DB  15,88,193                           ; addps         %xmm1,%xmm0
9892  DB  102,15,110,8                        ; movd          (%rax),%xmm1
9893  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
9894  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
9895  DB  15,88,202                           ; addps         %xmm2,%xmm1
9896  DB  72,173                              ; lods          %ds:(%rsi),%rax
9897  DB  15,40,21,64,57,0,0                  ; movaps        0x3940(%rip),%xmm2        # 3a70 <_sk_callback_sse41+0xc2>
9898  DB  15,87,219                           ; xorps         %xmm3,%xmm3
9899  DB  15,87,228                           ; xorps         %xmm4,%xmm4
9900  DB  15,87,237                           ; xorps         %xmm5,%xmm5
9901  DB  15,87,246                           ; xorps         %xmm6,%xmm6
9902  DB  15,87,255                           ; xorps         %xmm7,%xmm7
9903  DB  255,224                             ; jmpq          *%rax
9904
9905PUBLIC _sk_constant_color_sse41
9906_sk_constant_color_sse41 LABEL PROC
9907  DB  72,173                              ; lods          %ds:(%rsi),%rax
9908  DB  243,15,16,0                         ; movss         (%rax),%xmm0
9909  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
9910  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
9911  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
9912  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
9913  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
9914  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
9915  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
9916  DB  72,173                              ; lods          %ds:(%rsi),%rax
9917  DB  255,224                             ; jmpq          *%rax
9918
9919PUBLIC _sk_clear_sse41
9920_sk_clear_sse41 LABEL PROC
9921  DB  72,173                              ; lods          %ds:(%rsi),%rax
9922  DB  15,87,192                           ; xorps         %xmm0,%xmm0
9923  DB  15,87,201                           ; xorps         %xmm1,%xmm1
9924  DB  15,87,210                           ; xorps         %xmm2,%xmm2
9925  DB  15,87,219                           ; xorps         %xmm3,%xmm3
9926  DB  255,224                             ; jmpq          *%rax
9927
9928PUBLIC _sk_srcatop_sse41
9929_sk_srcatop_sse41 LABEL PROC
9930  DB  15,89,199                           ; mulps         %xmm7,%xmm0
9931  DB  68,15,40,5,251,56,0,0               ; movaps        0x38fb(%rip),%xmm8        # 3a80 <_sk_callback_sse41+0xd2>
9932  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
9933  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
9934  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
9935  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
9936  DB  15,89,207                           ; mulps         %xmm7,%xmm1
9937  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
9938  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
9939  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
9940  DB  15,89,215                           ; mulps         %xmm7,%xmm2
9941  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
9942  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
9943  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
9944  DB  15,89,223                           ; mulps         %xmm7,%xmm3
9945  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
9946  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
9947  DB  72,173                              ; lods          %ds:(%rsi),%rax
9948  DB  255,224                             ; jmpq          *%rax
9949
9950PUBLIC _sk_dstatop_sse41
9951_sk_dstatop_sse41 LABEL PROC
9952  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
9953  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
9954  DB  68,15,40,13,190,56,0,0              ; movaps        0x38be(%rip),%xmm9        # 3a90 <_sk_callback_sse41+0xe2>
9955  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
9956  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
9957  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
9958  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
9959  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
9960  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
9961  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
9962  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
9963  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
9964  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
9965  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
9966  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
9967  DB  15,89,223                           ; mulps         %xmm7,%xmm3
9968  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
9969  DB  72,173                              ; lods          %ds:(%rsi),%rax
9970  DB  255,224                             ; jmpq          *%rax
9971
9972PUBLIC _sk_srcin_sse41
9973_sk_srcin_sse41 LABEL PROC
9974  DB  15,89,199                           ; mulps         %xmm7,%xmm0
9975  DB  15,89,207                           ; mulps         %xmm7,%xmm1
9976  DB  15,89,215                           ; mulps         %xmm7,%xmm2
9977  DB  15,89,223                           ; mulps         %xmm7,%xmm3
9978  DB  72,173                              ; lods          %ds:(%rsi),%rax
9979  DB  255,224                             ; jmpq          *%rax
9980
9981PUBLIC _sk_dstin_sse41
9982_sk_dstin_sse41 LABEL PROC
9983  DB  15,40,195                           ; movaps        %xmm3,%xmm0
9984  DB  15,89,196                           ; mulps         %xmm4,%xmm0
9985  DB  15,40,203                           ; movaps        %xmm3,%xmm1
9986  DB  15,89,205                           ; mulps         %xmm5,%xmm1
9987  DB  15,40,211                           ; movaps        %xmm3,%xmm2
9988  DB  15,89,214                           ; mulps         %xmm6,%xmm2
9989  DB  15,89,223                           ; mulps         %xmm7,%xmm3
9990  DB  72,173                              ; lods          %ds:(%rsi),%rax
9991  DB  255,224                             ; jmpq          *%rax
9992
9993PUBLIC _sk_srcout_sse41
9994_sk_srcout_sse41 LABEL PROC
9995  DB  68,15,40,5,98,56,0,0                ; movaps        0x3862(%rip),%xmm8        # 3aa0 <_sk_callback_sse41+0xf2>
9996  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
9997  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
9998  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
9999  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
10000  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
10001  DB  72,173                              ; lods          %ds:(%rsi),%rax
10002  DB  255,224                             ; jmpq          *%rax
10003
10004PUBLIC _sk_dstout_sse41
10005_sk_dstout_sse41 LABEL PROC
10006  DB  68,15,40,5,82,56,0,0                ; movaps        0x3852(%rip),%xmm8        # 3ab0 <_sk_callback_sse41+0x102>
10007  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
10008  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10009  DB  15,89,196                           ; mulps         %xmm4,%xmm0
10010  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
10011  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10012  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
10013  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10014  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
10015  DB  72,173                              ; lods          %ds:(%rsi),%rax
10016  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
10017  DB  255,224                             ; jmpq          *%rax
10018
10019PUBLIC _sk_srcover_sse41
10020_sk_srcover_sse41 LABEL PROC
10021  DB  68,15,40,5,53,56,0,0                ; movaps        0x3835(%rip),%xmm8        # 3ac0 <_sk_callback_sse41+0x112>
10022  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
10023  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
10024  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
10025  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
10026  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
10027  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
10028  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
10029  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
10030  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
10031  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
10032  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
10033  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
10034  DB  72,173                              ; lods          %ds:(%rsi),%rax
10035  DB  255,224                             ; jmpq          *%rax
10036
10037PUBLIC _sk_dstover_sse41
10038_sk_dstover_sse41 LABEL PROC
10039  DB  68,15,40,5,9,56,0,0                 ; movaps        0x3809(%rip),%xmm8        # 3ad0 <_sk_callback_sse41+0x122>
10040  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
10041  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
10042  DB  15,88,196                           ; addps         %xmm4,%xmm0
10043  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
10044  DB  15,88,205                           ; addps         %xmm5,%xmm1
10045  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
10046  DB  15,88,214                           ; addps         %xmm6,%xmm2
10047  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
10048  DB  15,88,223                           ; addps         %xmm7,%xmm3
10049  DB  72,173                              ; lods          %ds:(%rsi),%rax
10050  DB  255,224                             ; jmpq          *%rax
10051
10052PUBLIC _sk_modulate_sse41
10053_sk_modulate_sse41 LABEL PROC
10054  DB  15,89,196                           ; mulps         %xmm4,%xmm0
10055  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10056  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10057  DB  15,89,223                           ; mulps         %xmm7,%xmm3
10058  DB  72,173                              ; lods          %ds:(%rsi),%rax
10059  DB  255,224                             ; jmpq          *%rax
10060
10061PUBLIC _sk_multiply_sse41
10062_sk_multiply_sse41 LABEL PROC
10063  DB  68,15,40,5,221,55,0,0               ; movaps        0x37dd(%rip),%xmm8        # 3ae0 <_sk_callback_sse41+0x132>
10064  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
10065  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
10066  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
10067  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
10068  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
10069  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
10070  DB  68,15,89,220                        ; mulps         %xmm4,%xmm11
10071  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
10072  DB  15,89,196                           ; mulps         %xmm4,%xmm0
10073  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
10074  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
10075  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
10076  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
10077  DB  68,15,89,221                        ; mulps         %xmm5,%xmm11
10078  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
10079  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10080  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
10081  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
10082  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
10083  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
10084  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
10085  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
10086  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10087  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
10088  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
10089  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
10090  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
10091  DB  15,89,223                           ; mulps         %xmm7,%xmm3
10092  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
10093  DB  72,173                              ; lods          %ds:(%rsi),%rax
10094  DB  255,224                             ; jmpq          *%rax
10095
10096PUBLIC _sk_plus__sse41
10097_sk_plus__sse41 LABEL PROC
10098  DB  15,88,196                           ; addps         %xmm4,%xmm0
10099  DB  15,88,205                           ; addps         %xmm5,%xmm1
10100  DB  15,88,214                           ; addps         %xmm6,%xmm2
10101  DB  15,88,223                           ; addps         %xmm7,%xmm3
10102  DB  72,173                              ; lods          %ds:(%rsi),%rax
10103  DB  255,224                             ; jmpq          *%rax
10104
10105PUBLIC _sk_screen_sse41
10106_sk_screen_sse41 LABEL PROC
10107  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10108  DB  68,15,88,196                        ; addps         %xmm4,%xmm8
10109  DB  15,89,196                           ; mulps         %xmm4,%xmm0
10110  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
10111  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
10112  DB  68,15,88,205                        ; addps         %xmm5,%xmm9
10113  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10114  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
10115  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
10116  DB  68,15,88,214                        ; addps         %xmm6,%xmm10
10117  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10118  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
10119  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
10120  DB  68,15,88,223                        ; addps         %xmm7,%xmm11
10121  DB  15,89,223                           ; mulps         %xmm7,%xmm3
10122  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
10123  DB  72,173                              ; lods          %ds:(%rsi),%rax
10124  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10125  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
10126  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
10127  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
10128  DB  255,224                             ; jmpq          *%rax
10129
10130PUBLIC _sk_xor__sse41
10131_sk_xor__sse41 LABEL PROC
10132  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
10133  DB  15,40,29,14,55,0,0                  ; movaps        0x370e(%rip),%xmm3        # 3af0 <_sk_callback_sse41+0x142>
10134  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10135  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
10136  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
10137  DB  65,15,92,216                        ; subps         %xmm8,%xmm3
10138  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
10139  DB  68,15,89,212                        ; mulps         %xmm4,%xmm10
10140  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
10141  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
10142  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
10143  DB  68,15,89,213                        ; mulps         %xmm5,%xmm10
10144  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
10145  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
10146  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
10147  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
10148  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
10149  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
10150  DB  15,89,223                           ; mulps         %xmm7,%xmm3
10151  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
10152  DB  72,173                              ; lods          %ds:(%rsi),%rax
10153  DB  255,224                             ; jmpq          *%rax
10154
10155PUBLIC _sk_darken_sse41
10156_sk_darken_sse41 LABEL PROC
10157  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
10158  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
10159  DB  15,88,196                           ; addps         %xmm4,%xmm0
10160  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
10161  DB  15,40,203                           ; movaps        %xmm3,%xmm1
10162  DB  15,89,204                           ; mulps         %xmm4,%xmm1
10163  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
10164  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
10165  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
10166  DB  15,88,205                           ; addps         %xmm5,%xmm1
10167  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
10168  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10169  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
10170  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
10171  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
10172  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
10173  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
10174  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10175  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10176  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
10177  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
10178  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
10179  DB  15,40,21,121,54,0,0                 ; movaps        0x3679(%rip),%xmm2        # 3b00 <_sk_callback_sse41+0x152>
10180  DB  15,92,211                           ; subps         %xmm3,%xmm2
10181  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10182  DB  15,88,218                           ; addps         %xmm2,%xmm3
10183  DB  72,173                              ; lods          %ds:(%rsi),%rax
10184  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
10185  DB  255,224                             ; jmpq          *%rax
10186
10187PUBLIC _sk_lighten_sse41
10188_sk_lighten_sse41 LABEL PROC
10189  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
10190  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
10191  DB  15,88,196                           ; addps         %xmm4,%xmm0
10192  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
10193  DB  15,40,203                           ; movaps        %xmm3,%xmm1
10194  DB  15,89,204                           ; mulps         %xmm4,%xmm1
10195  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
10196  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
10197  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
10198  DB  15,88,205                           ; addps         %xmm5,%xmm1
10199  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
10200  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10201  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
10202  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
10203  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
10204  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
10205  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
10206  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10207  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10208  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
10209  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
10210  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
10211  DB  15,40,21,30,54,0,0                  ; movaps        0x361e(%rip),%xmm2        # 3b10 <_sk_callback_sse41+0x162>
10212  DB  15,92,211                           ; subps         %xmm3,%xmm2
10213  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10214  DB  15,88,218                           ; addps         %xmm2,%xmm3
10215  DB  72,173                              ; lods          %ds:(%rsi),%rax
10216  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
10217  DB  255,224                             ; jmpq          *%rax
10218
10219PUBLIC _sk_difference_sse41
10220_sk_difference_sse41 LABEL PROC
10221  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
10222  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
10223  DB  15,88,196                           ; addps         %xmm4,%xmm0
10224  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
10225  DB  15,40,203                           ; movaps        %xmm3,%xmm1
10226  DB  15,89,204                           ; mulps         %xmm4,%xmm1
10227  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
10228  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
10229  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
10230  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
10231  DB  15,88,205                           ; addps         %xmm5,%xmm1
10232  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
10233  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10234  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
10235  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
10236  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
10237  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
10238  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
10239  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
10240  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10241  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10242  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
10243  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
10244  DB  15,88,210                           ; addps         %xmm2,%xmm2
10245  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
10246  DB  15,40,21,184,53,0,0                 ; movaps        0x35b8(%rip),%xmm2        # 3b20 <_sk_callback_sse41+0x172>
10247  DB  15,92,211                           ; subps         %xmm3,%xmm2
10248  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10249  DB  15,88,218                           ; addps         %xmm2,%xmm3
10250  DB  72,173                              ; lods          %ds:(%rsi),%rax
10251  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
10252  DB  255,224                             ; jmpq          *%rax
10253
10254PUBLIC _sk_exclusion_sse41
10255_sk_exclusion_sse41 LABEL PROC
10256  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10257  DB  15,88,196                           ; addps         %xmm4,%xmm0
10258  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
10259  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
10260  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
10261  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
10262  DB  68,15,88,197                        ; addps         %xmm5,%xmm8
10263  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10264  DB  15,88,201                           ; addps         %xmm1,%xmm1
10265  DB  68,15,92,193                        ; subps         %xmm1,%xmm8
10266  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
10267  DB  68,15,88,206                        ; addps         %xmm6,%xmm9
10268  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10269  DB  15,88,210                           ; addps         %xmm2,%xmm2
10270  DB  68,15,92,202                        ; subps         %xmm2,%xmm9
10271  DB  15,40,13,121,53,0,0                 ; movaps        0x3579(%rip),%xmm1        # 3b30 <_sk_callback_sse41+0x182>
10272  DB  15,92,203                           ; subps         %xmm3,%xmm1
10273  DB  15,89,207                           ; mulps         %xmm7,%xmm1
10274  DB  15,88,217                           ; addps         %xmm1,%xmm3
10275  DB  72,173                              ; lods          %ds:(%rsi),%rax
10276  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
10277  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
10278  DB  255,224                             ; jmpq          *%rax
10279
10280PUBLIC _sk_colorburn_sse41
10281_sk_colorburn_sse41 LABEL PROC
10282  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10283  DB  68,15,40,21,104,53,0,0              ; movaps        0x3568(%rip),%xmm10        # 3b40 <_sk_callback_sse41+0x192>
10284  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
10285  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
10286  DB  69,15,40,203                        ; movaps        %xmm11,%xmm9
10287  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
10288  DB  15,40,199                           ; movaps        %xmm7,%xmm0
10289  DB  15,92,196                           ; subps         %xmm4,%xmm0
10290  DB  15,89,195                           ; mulps         %xmm3,%xmm0
10291  DB  65,15,94,192                        ; divps         %xmm8,%xmm0
10292  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
10293  DB  68,15,93,224                        ; minps         %xmm0,%xmm12
10294  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
10295  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
10296  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
10297  DB  69,15,88,233                        ; addps         %xmm9,%xmm13
10298  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
10299  DB  68,15,88,228                        ; addps         %xmm4,%xmm12
10300  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
10301  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10302  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
10303  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
10304  DB  102,69,15,56,20,232                 ; blendvps      %xmm0,%xmm8,%xmm13
10305  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
10306  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
10307  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10308  DB  15,194,199,0                        ; cmpeqps       %xmm7,%xmm0
10309  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
10310  DB  102,69,15,56,20,196                 ; blendvps      %xmm0,%xmm12,%xmm8
10311  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
10312  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
10313  DB  15,40,199                           ; movaps        %xmm7,%xmm0
10314  DB  15,92,197                           ; subps         %xmm5,%xmm0
10315  DB  15,89,195                           ; mulps         %xmm3,%xmm0
10316  DB  15,94,193                           ; divps         %xmm1,%xmm0
10317  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
10318  DB  68,15,93,232                        ; minps         %xmm0,%xmm13
10319  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
10320  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
10321  DB  15,40,193                           ; movaps        %xmm1,%xmm0
10322  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
10323  DB  68,15,89,243                        ; mulps         %xmm3,%xmm14
10324  DB  69,15,88,244                        ; addps         %xmm12,%xmm14
10325  DB  102,68,15,56,20,241                 ; blendvps      %xmm0,%xmm1,%xmm14
10326  DB  68,15,88,229                        ; addps         %xmm5,%xmm12
10327  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
10328  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10329  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
10330  DB  15,40,197                           ; movaps        %xmm5,%xmm0
10331  DB  15,194,199,0                        ; cmpeqps       %xmm7,%xmm0
10332  DB  102,65,15,56,20,204                 ; blendvps      %xmm0,%xmm12,%xmm1
10333  DB  15,40,199                           ; movaps        %xmm7,%xmm0
10334  DB  15,92,198                           ; subps         %xmm6,%xmm0
10335  DB  15,89,195                           ; mulps         %xmm3,%xmm0
10336  DB  15,94,194                           ; divps         %xmm2,%xmm0
10337  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
10338  DB  68,15,93,224                        ; minps         %xmm0,%xmm12
10339  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
10340  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
10341  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
10342  DB  68,15,194,202,0                     ; cmpeqps       %xmm2,%xmm9
10343  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
10344  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
10345  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
10346  DB  102,68,15,56,20,234                 ; blendvps      %xmm0,%xmm2,%xmm13
10347  DB  68,15,88,222                        ; addps         %xmm6,%xmm11
10348  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
10349  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10350  DB  65,15,88,213                        ; addps         %xmm13,%xmm2
10351  DB  15,40,198                           ; movaps        %xmm6,%xmm0
10352  DB  15,194,199,0                        ; cmpeqps       %xmm7,%xmm0
10353  DB  102,65,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm2
10354  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
10355  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
10356  DB  72,173                              ; lods          %ds:(%rsi),%rax
10357  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10358  DB  255,224                             ; jmpq          *%rax
10359
10360PUBLIC _sk_colordodge_sse41
10361_sk_colordodge_sse41 LABEL PROC
10362  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10363  DB  68,15,40,21,70,52,0,0               ; movaps        0x3446(%rip),%xmm10        # 3b50 <_sk_callback_sse41+0x1a2>
10364  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
10365  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
10366  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
10367  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
10368  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
10369  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
10370  DB  15,40,195                           ; movaps        %xmm3,%xmm0
10371  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
10372  DB  68,15,94,200                        ; divps         %xmm0,%xmm9
10373  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
10374  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
10375  DB  69,15,93,241                        ; minps         %xmm9,%xmm14
10376  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10377  DB  15,194,195,0                        ; cmpeqps       %xmm3,%xmm0
10378  DB  68,15,89,243                        ; mulps         %xmm3,%xmm14
10379  DB  69,15,88,244                        ; addps         %xmm12,%xmm14
10380  DB  102,69,15,56,20,240                 ; blendvps      %xmm0,%xmm8,%xmm14
10381  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
10382  DB  68,15,88,228                        ; addps         %xmm4,%xmm12
10383  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
10384  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
10385  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
10386  DB  69,15,88,198                        ; addps         %xmm14,%xmm8
10387  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10388  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
10389  DB  102,69,15,56,20,196                 ; blendvps      %xmm0,%xmm12,%xmm8
10390  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
10391  DB  68,15,89,229                        ; mulps         %xmm5,%xmm12
10392  DB  15,40,195                           ; movaps        %xmm3,%xmm0
10393  DB  15,92,193                           ; subps         %xmm1,%xmm0
10394  DB  68,15,94,224                        ; divps         %xmm0,%xmm12
10395  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
10396  DB  68,15,89,241                        ; mulps         %xmm1,%xmm14
10397  DB  69,15,93,236                        ; minps         %xmm12,%xmm13
10398  DB  15,40,193                           ; movaps        %xmm1,%xmm0
10399  DB  15,194,195,0                        ; cmpeqps       %xmm3,%xmm0
10400  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
10401  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
10402  DB  102,68,15,56,20,233                 ; blendvps      %xmm0,%xmm1,%xmm13
10403  DB  68,15,88,245                        ; addps         %xmm5,%xmm14
10404  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
10405  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10406  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
10407  DB  15,40,197                           ; movaps        %xmm5,%xmm0
10408  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
10409  DB  102,65,15,56,20,206                 ; blendvps      %xmm0,%xmm14,%xmm1
10410  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
10411  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
10412  DB  15,40,195                           ; movaps        %xmm3,%xmm0
10413  DB  15,92,194                           ; subps         %xmm2,%xmm0
10414  DB  68,15,94,224                        ; divps         %xmm0,%xmm12
10415  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
10416  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
10417  DB  69,15,93,236                        ; minps         %xmm12,%xmm13
10418  DB  15,40,194                           ; movaps        %xmm2,%xmm0
10419  DB  15,194,195,0                        ; cmpeqps       %xmm3,%xmm0
10420  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
10421  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
10422  DB  102,68,15,56,20,234                 ; blendvps      %xmm0,%xmm2,%xmm13
10423  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
10424  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10425  DB  65,15,88,213                        ; addps         %xmm13,%xmm2
10426  DB  68,15,194,206,0                     ; cmpeqps       %xmm6,%xmm9
10427  DB  68,15,88,222                        ; addps         %xmm6,%xmm11
10428  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
10429  DB  102,65,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm2
10430  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
10431  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
10432  DB  72,173                              ; lods          %ds:(%rsi),%rax
10433  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10434  DB  255,224                             ; jmpq          *%rax
10435
10436PUBLIC _sk_hardlight_sse41
10437_sk_hardlight_sse41 LABEL PROC
10438  DB  72,131,236,24                       ; sub           $0x18,%rsp
10439  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
10440  DB  68,15,40,229                        ; movaps        %xmm5,%xmm12
10441  DB  15,40,244                           ; movaps        %xmm4,%xmm6
10442  DB  15,40,227                           ; movaps        %xmm3,%xmm4
10443  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
10444  DB  68,15,40,21,28,51,0,0               ; movaps        0x331c(%rip),%xmm10        # 3b60 <_sk_callback_sse41+0x1b2>
10445  DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
10446  DB  15,92,239                           ; subps         %xmm7,%xmm5
10447  DB  15,40,197                           ; movaps        %xmm5,%xmm0
10448  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
10449  DB  68,15,92,212                        ; subps         %xmm4,%xmm10
10450  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
10451  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
10452  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
10453  DB  68,15,40,252                        ; movaps        %xmm4,%xmm15
10454  DB  69,15,92,249                        ; subps         %xmm9,%xmm15
10455  DB  15,89,223                           ; mulps         %xmm7,%xmm3
10456  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
10457  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
10458  DB  15,40,199                           ; movaps        %xmm7,%xmm0
10459  DB  15,92,198                           ; subps         %xmm6,%xmm0
10460  DB  65,15,89,199                        ; mulps         %xmm15,%xmm0
10461  DB  15,88,192                           ; addps         %xmm0,%xmm0
10462  DB  68,15,40,251                        ; movaps        %xmm3,%xmm15
10463  DB  68,15,92,248                        ; subps         %xmm0,%xmm15
10464  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
10465  DB  15,88,192                           ; addps         %xmm0,%xmm0
10466  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
10467  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
10468  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
10469  DB  102,69,15,56,20,249                 ; blendvps      %xmm0,%xmm9,%xmm15
10470  DB  68,15,40,221                        ; movaps        %xmm5,%xmm11
10471  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
10472  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10473  DB  15,92,193                           ; subps         %xmm1,%xmm0
10474  DB  69,15,40,204                        ; movaps        %xmm12,%xmm9
10475  DB  69,15,92,233                        ; subps         %xmm9,%xmm13
10476  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
10477  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
10478  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
10479  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
10480  DB  15,40,193                           ; movaps        %xmm1,%xmm0
10481  DB  15,88,192                           ; addps         %xmm0,%xmm0
10482  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
10483  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
10484  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
10485  DB  15,88,201                           ; addps         %xmm1,%xmm1
10486  DB  102,68,15,56,20,225                 ; blendvps      %xmm0,%xmm1,%xmm12
10487  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
10488  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
10489  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
10490  DB  69,15,88,199                        ; addps         %xmm15,%xmm8
10491  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
10492  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
10493  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
10494  DB  15,89,234                           ; mulps         %xmm2,%xmm5
10495  DB  68,15,40,28,36                      ; movaps        (%rsp),%xmm11
10496  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
10497  DB  68,15,88,205                        ; addps         %xmm5,%xmm9
10498  DB  15,40,194                           ; movaps        %xmm2,%xmm0
10499  DB  15,88,192                           ; addps         %xmm0,%xmm0
10500  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
10501  DB  15,40,236                           ; movaps        %xmm4,%xmm5
10502  DB  15,92,234                           ; subps         %xmm2,%xmm5
10503  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
10504  DB  15,88,210                           ; addps         %xmm2,%xmm2
10505  DB  69,15,92,243                        ; subps         %xmm11,%xmm14
10506  DB  68,15,89,245                        ; mulps         %xmm5,%xmm14
10507  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
10508  DB  65,15,92,222                        ; subps         %xmm14,%xmm3
10509  DB  102,15,56,20,218                    ; blendvps      %xmm0,%xmm2,%xmm3
10510  DB  68,15,88,203                        ; addps         %xmm3,%xmm9
10511  DB  65,15,88,226                        ; addps         %xmm10,%xmm4
10512  DB  72,173                              ; lods          %ds:(%rsi),%rax
10513  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10514  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
10515  DB  15,40,220                           ; movaps        %xmm4,%xmm3
10516  DB  15,40,230                           ; movaps        %xmm6,%xmm4
10517  DB  65,15,40,237                        ; movaps        %xmm13,%xmm5
10518  DB  65,15,40,243                        ; movaps        %xmm11,%xmm6
10519  DB  72,131,196,24                       ; add           $0x18,%rsp
10520  DB  255,224                             ; jmpq          *%rax
10521
10522PUBLIC _sk_overlay_sse41
10523_sk_overlay_sse41 LABEL PROC
10524  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
10525  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
10526  DB  68,15,40,21,254,49,0,0              ; movaps        0x31fe(%rip),%xmm10        # 3b70 <_sk_callback_sse41+0x1c2>
10527  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
10528  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
10529  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
10530  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
10531  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
10532  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
10533  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
10534  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
10535  DB  68,15,40,235                        ; movaps        %xmm3,%xmm13
10536  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
10537  DB  68,15,89,244                        ; mulps         %xmm4,%xmm14
10538  DB  15,40,207                           ; movaps        %xmm7,%xmm1
10539  DB  15,92,204                           ; subps         %xmm4,%xmm1
10540  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10541  DB  15,88,192                           ; addps         %xmm0,%xmm0
10542  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
10543  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
10544  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
10545  DB  68,15,89,231                        ; mulps         %xmm7,%xmm12
10546  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
10547  DB  15,88,201                           ; addps         %xmm1,%xmm1
10548  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
10549  DB  68,15,92,233                        ; subps         %xmm1,%xmm13
10550  DB  102,69,15,56,20,238                 ; blendvps      %xmm0,%xmm14,%xmm13
10551  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
10552  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
10553  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
10554  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
10555  DB  15,89,205                           ; mulps         %xmm5,%xmm1
10556  DB  15,88,200                           ; addps         %xmm0,%xmm1
10557  DB  68,15,40,235                        ; movaps        %xmm3,%xmm13
10558  DB  69,15,92,233                        ; subps         %xmm9,%xmm13
10559  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
10560  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
10561  DB  68,15,92,245                        ; subps         %xmm5,%xmm14
10562  DB  15,40,197                           ; movaps        %xmm5,%xmm0
10563  DB  15,88,192                           ; addps         %xmm0,%xmm0
10564  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
10565  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
10566  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
10567  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
10568  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
10569  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
10570  DB  102,69,15,56,20,233                 ; blendvps      %xmm0,%xmm9,%xmm13
10571  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
10572  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
10573  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
10574  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
10575  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
10576  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
10577  DB  68,15,92,218                        ; subps         %xmm2,%xmm11
10578  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10579  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
10580  DB  68,15,92,238                        ; subps         %xmm6,%xmm13
10581  DB  15,40,198                           ; movaps        %xmm6,%xmm0
10582  DB  15,88,192                           ; addps         %xmm0,%xmm0
10583  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
10584  DB  15,88,210                           ; addps         %xmm2,%xmm2
10585  DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
10586  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
10587  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
10588  DB  102,68,15,56,20,226                 ; blendvps      %xmm0,%xmm2,%xmm12
10589  DB  69,15,88,204                        ; addps         %xmm12,%xmm9
10590  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
10591  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
10592  DB  72,173                              ; lods          %ds:(%rsi),%rax
10593  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10594  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
10595  DB  255,224                             ; jmpq          *%rax
10596
10597PUBLIC _sk_softlight_sse41
10598_sk_softlight_sse41 LABEL PROC
10599  DB  72,131,236,72                       ; sub           $0x48,%rsp
10600  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
10601  DB  15,40,244                           ; movaps        %xmm4,%xmm6
10602  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%rsp)
10603  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%rsp)
10604  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10605  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
10606  DB  68,15,194,207,1                     ; cmpltps       %xmm7,%xmm9
10607  DB  15,40,198                           ; movaps        %xmm6,%xmm0
10608  DB  15,94,199                           ; divps         %xmm7,%xmm0
10609  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
10610  DB  15,40,13,209,48,0,0                 ; movaps        0x30d1(%rip),%xmm1        # 3b80 <_sk_callback_sse41+0x1d2>
10611  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
10612  DB  68,15,92,208                        ; subps         %xmm0,%xmm10
10613  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
10614  DB  68,15,40,248                        ; movaps        %xmm0,%xmm15
10615  DB  15,82,208                           ; rsqrtps       %xmm0,%xmm2
10616  DB  68,15,83,218                        ; rcpps         %xmm2,%xmm11
10617  DB  68,15,92,216                        ; subps         %xmm0,%xmm11
10618  DB  15,88,192                           ; addps         %xmm0,%xmm0
10619  DB  15,88,192                           ; addps         %xmm0,%xmm0
10620  DB  15,40,208                           ; movaps        %xmm0,%xmm2
10621  DB  15,89,210                           ; mulps         %xmm2,%xmm2
10622  DB  15,88,208                           ; addps         %xmm0,%xmm2
10623  DB  68,15,40,45,175,48,0,0              ; movaps        0x30af(%rip),%xmm13        # 3b90 <_sk_callback_sse41+0x1e2>
10624  DB  69,15,88,245                        ; addps         %xmm13,%xmm14
10625  DB  68,15,89,242                        ; mulps         %xmm2,%xmm14
10626  DB  68,15,40,37,175,48,0,0              ; movaps        0x30af(%rip),%xmm12        # 3ba0 <_sk_callback_sse41+0x1f2>
10627  DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
10628  DB  69,15,88,254                        ; addps         %xmm14,%xmm15
10629  DB  15,40,198                           ; movaps        %xmm6,%xmm0
10630  DB  15,88,192                           ; addps         %xmm0,%xmm0
10631  DB  15,88,192                           ; addps         %xmm0,%xmm0
10632  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
10633  DB  102,69,15,56,20,223                 ; blendvps      %xmm0,%xmm15,%xmm11
10634  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10635  DB  15,88,192                           ; addps         %xmm0,%xmm0
10636  DB  15,40,208                           ; movaps        %xmm0,%xmm2
10637  DB  15,92,211                           ; subps         %xmm3,%xmm2
10638  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
10639  DB  68,15,88,211                        ; addps         %xmm3,%xmm10
10640  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
10641  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10642  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
10643  DB  15,40,211                           ; movaps        %xmm3,%xmm2
10644  DB  15,89,214                           ; mulps         %xmm6,%xmm2
10645  DB  68,15,88,218                        ; addps         %xmm2,%xmm11
10646  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
10647  DB  102,69,15,56,20,218                 ; blendvps      %xmm0,%xmm10,%xmm11
10648  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
10649  DB  68,15,94,215                        ; divps         %xmm7,%xmm10
10650  DB  69,15,84,209                        ; andps         %xmm9,%xmm10
10651  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
10652  DB  15,88,192                           ; addps         %xmm0,%xmm0
10653  DB  15,88,192                           ; addps         %xmm0,%xmm0
10654  DB  15,40,208                           ; movaps        %xmm0,%xmm2
10655  DB  15,89,210                           ; mulps         %xmm2,%xmm2
10656  DB  15,88,208                           ; addps         %xmm0,%xmm2
10657  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
10658  DB  65,15,88,197                        ; addps         %xmm13,%xmm0
10659  DB  15,89,194                           ; mulps         %xmm2,%xmm0
10660  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
10661  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
10662  DB  15,88,208                           ; addps         %xmm0,%xmm2
10663  DB  65,15,82,194                        ; rsqrtps       %xmm10,%xmm0
10664  DB  68,15,83,240                        ; rcpps         %xmm0,%xmm14
10665  DB  69,15,92,242                        ; subps         %xmm10,%xmm14
10666  DB  15,40,197                           ; movaps        %xmm5,%xmm0
10667  DB  15,40,229                           ; movaps        %xmm5,%xmm4
10668  DB  15,88,192                           ; addps         %xmm0,%xmm0
10669  DB  15,88,192                           ; addps         %xmm0,%xmm0
10670  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
10671  DB  102,68,15,56,20,242                 ; blendvps      %xmm0,%xmm2,%xmm14
10672  DB  68,15,40,249                        ; movaps        %xmm1,%xmm15
10673  DB  69,15,92,250                        ; subps         %xmm10,%xmm15
10674  DB  15,40,108,36,16                     ; movaps        0x10(%rsp),%xmm5
10675  DB  15,40,197                           ; movaps        %xmm5,%xmm0
10676  DB  15,88,192                           ; addps         %xmm0,%xmm0
10677  DB  15,40,208                           ; movaps        %xmm0,%xmm2
10678  DB  15,92,211                           ; subps         %xmm3,%xmm2
10679  DB  68,15,89,250                        ; mulps         %xmm2,%xmm15
10680  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10681  DB  68,15,89,242                        ; mulps         %xmm2,%xmm14
10682  DB  15,40,211                           ; movaps        %xmm3,%xmm2
10683  DB  15,41,36,36                         ; movaps        %xmm4,(%rsp)
10684  DB  15,89,212                           ; mulps         %xmm4,%xmm2
10685  DB  68,15,88,242                        ; addps         %xmm2,%xmm14
10686  DB  68,15,88,251                        ; addps         %xmm3,%xmm15
10687  DB  68,15,89,252                        ; mulps         %xmm4,%xmm15
10688  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
10689  DB  102,69,15,56,20,247                 ; blendvps      %xmm0,%xmm15,%xmm14
10690  DB  68,15,40,249                        ; movaps        %xmm1,%xmm15
10691  DB  15,40,100,36,32                     ; movaps        0x20(%rsp),%xmm4
10692  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10693  DB  15,94,199                           ; divps         %xmm7,%xmm0
10694  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
10695  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
10696  DB  15,92,200                           ; subps         %xmm0,%xmm1
10697  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
10698  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
10699  DB  15,82,208                           ; rsqrtps       %xmm0,%xmm2
10700  DB  68,15,83,202                        ; rcpps         %xmm2,%xmm9
10701  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
10702  DB  15,88,192                           ; addps         %xmm0,%xmm0
10703  DB  15,88,192                           ; addps         %xmm0,%xmm0
10704  DB  15,40,208                           ; movaps        %xmm0,%xmm2
10705  DB  15,89,210                           ; mulps         %xmm2,%xmm2
10706  DB  15,88,208                           ; addps         %xmm0,%xmm2
10707  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
10708  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
10709  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10710  DB  15,88,192                           ; addps         %xmm0,%xmm0
10711  DB  15,88,192                           ; addps         %xmm0,%xmm0
10712  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
10713  DB  102,69,15,56,20,204                 ; blendvps      %xmm0,%xmm12,%xmm9
10714  DB  68,15,40,100,36,48                  ; movaps        0x30(%rsp),%xmm12
10715  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
10716  DB  15,88,192                           ; addps         %xmm0,%xmm0
10717  DB  15,40,208                           ; movaps        %xmm0,%xmm2
10718  DB  15,92,211                           ; subps         %xmm3,%xmm2
10719  DB  15,89,202                           ; mulps         %xmm2,%xmm1
10720  DB  15,89,215                           ; mulps         %xmm7,%xmm2
10721  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
10722  DB  15,40,211                           ; movaps        %xmm3,%xmm2
10723  DB  15,89,212                           ; mulps         %xmm4,%xmm2
10724  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
10725  DB  15,88,203                           ; addps         %xmm3,%xmm1
10726  DB  15,89,204                           ; mulps         %xmm4,%xmm1
10727  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
10728  DB  102,68,15,56,20,201                 ; blendvps      %xmm0,%xmm1,%xmm9
10729  DB  68,15,92,255                        ; subps         %xmm7,%xmm15
10730  DB  69,15,89,199                        ; mulps         %xmm15,%xmm8
10731  DB  15,40,205                           ; movaps        %xmm5,%xmm1
10732  DB  65,15,89,207                        ; mulps         %xmm15,%xmm1
10733  DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
10734  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
10735  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
10736  DB  15,89,198                           ; mulps         %xmm6,%xmm0
10737  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
10738  DB  69,15,88,195                        ; addps         %xmm11,%xmm8
10739  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
10740  DB  15,40,44,36                         ; movaps        (%rsp),%xmm5
10741  DB  15,89,197                           ; mulps         %xmm5,%xmm0
10742  DB  15,88,200                           ; addps         %xmm0,%xmm1
10743  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
10744  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
10745  DB  15,89,196                           ; mulps         %xmm4,%xmm0
10746  DB  15,40,212                           ; movaps        %xmm4,%xmm2
10747  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
10748  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
10749  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
10750  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
10751  DB  72,173                              ; lods          %ds:(%rsi),%rax
10752  DB  15,40,230                           ; movaps        %xmm6,%xmm4
10753  DB  15,40,242                           ; movaps        %xmm2,%xmm6
10754  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10755  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
10756  DB  72,131,196,72                       ; add           $0x48,%rsp
10757  DB  255,224                             ; jmpq          *%rax
10758
10759PUBLIC _sk_clamp_0_sse41
10760_sk_clamp_0_sse41 LABEL PROC
10761  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
10762  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
10763  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
10764  DB  65,15,95,208                        ; maxps         %xmm8,%xmm2
10765  DB  65,15,95,216                        ; maxps         %xmm8,%xmm3
10766  DB  72,173                              ; lods          %ds:(%rsi),%rax
10767  DB  255,224                             ; jmpq          *%rax
10768
10769PUBLIC _sk_clamp_1_sse41
10770_sk_clamp_1_sse41 LABEL PROC
10771  DB  68,15,40,5,191,46,0,0               ; movaps        0x2ebf(%rip),%xmm8        # 3bb0 <_sk_callback_sse41+0x202>
10772  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
10773  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
10774  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
10775  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
10776  DB  72,173                              ; lods          %ds:(%rsi),%rax
10777  DB  255,224                             ; jmpq          *%rax
10778
10779PUBLIC _sk_clamp_a_sse41
10780_sk_clamp_a_sse41 LABEL PROC
10781  DB  15,93,29,180,46,0,0                 ; minps         0x2eb4(%rip),%xmm3        # 3bc0 <_sk_callback_sse41+0x212>
10782  DB  15,93,195                           ; minps         %xmm3,%xmm0
10783  DB  15,93,203                           ; minps         %xmm3,%xmm1
10784  DB  15,93,211                           ; minps         %xmm3,%xmm2
10785  DB  72,173                              ; lods          %ds:(%rsi),%rax
10786  DB  255,224                             ; jmpq          *%rax
10787
10788PUBLIC _sk_set_rgb_sse41
10789_sk_set_rgb_sse41 LABEL PROC
10790  DB  72,173                              ; lods          %ds:(%rsi),%rax
10791  DB  243,15,16,0                         ; movss         (%rax),%xmm0
10792  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
10793  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
10794  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
10795  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
10796  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
10797  DB  72,173                              ; lods          %ds:(%rsi),%rax
10798  DB  255,224                             ; jmpq          *%rax
10799
10800PUBLIC _sk_swap_rb_sse41
10801_sk_swap_rb_sse41 LABEL PROC
10802  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10803  DB  72,173                              ; lods          %ds:(%rsi),%rax
10804  DB  15,40,194                           ; movaps        %xmm2,%xmm0
10805  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
10806  DB  255,224                             ; jmpq          *%rax
10807
10808PUBLIC _sk_swap_sse41
10809_sk_swap_sse41 LABEL PROC
10810  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
10811  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
10812  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
10813  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
10814  DB  72,173                              ; lods          %ds:(%rsi),%rax
10815  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10816  DB  15,40,205                           ; movaps        %xmm5,%xmm1
10817  DB  15,40,214                           ; movaps        %xmm6,%xmm2
10818  DB  15,40,223                           ; movaps        %xmm7,%xmm3
10819  DB  65,15,40,227                        ; movaps        %xmm11,%xmm4
10820  DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
10821  DB  65,15,40,241                        ; movaps        %xmm9,%xmm6
10822  DB  65,15,40,248                        ; movaps        %xmm8,%xmm7
10823  DB  255,224                             ; jmpq          *%rax
10824
10825PUBLIC _sk_move_src_dst_sse41
10826_sk_move_src_dst_sse41 LABEL PROC
10827  DB  72,173                              ; lods          %ds:(%rsi),%rax
10828  DB  15,40,224                           ; movaps        %xmm0,%xmm4
10829  DB  15,40,233                           ; movaps        %xmm1,%xmm5
10830  DB  15,40,242                           ; movaps        %xmm2,%xmm6
10831  DB  15,40,251                           ; movaps        %xmm3,%xmm7
10832  DB  255,224                             ; jmpq          *%rax
10833
10834PUBLIC _sk_move_dst_src_sse41
10835_sk_move_dst_src_sse41 LABEL PROC
10836  DB  72,173                              ; lods          %ds:(%rsi),%rax
10837  DB  15,40,196                           ; movaps        %xmm4,%xmm0
10838  DB  15,40,205                           ; movaps        %xmm5,%xmm1
10839  DB  15,40,214                           ; movaps        %xmm6,%xmm2
10840  DB  15,40,223                           ; movaps        %xmm7,%xmm3
10841  DB  255,224                             ; jmpq          *%rax
10842
10843PUBLIC _sk_premul_sse41
10844_sk_premul_sse41 LABEL PROC
10845  DB  15,89,195                           ; mulps         %xmm3,%xmm0
10846  DB  15,89,203                           ; mulps         %xmm3,%xmm1
10847  DB  15,89,211                           ; mulps         %xmm3,%xmm2
10848  DB  72,173                              ; lods          %ds:(%rsi),%rax
10849  DB  255,224                             ; jmpq          *%rax
10850
10851PUBLIC _sk_unpremul_sse41
10852_sk_unpremul_sse41 LABEL PROC
10853  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
10854  DB  68,15,40,13,31,46,0,0               ; movaps        0x2e1f(%rip),%xmm9        # 3bd0 <_sk_callback_sse41+0x222>
10855  DB  68,15,94,203                        ; divps         %xmm3,%xmm9
10856  DB  68,15,194,195,4                     ; cmpneqps      %xmm3,%xmm8
10857  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
10858  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
10859  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
10860  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
10861  DB  72,173                              ; lods          %ds:(%rsi),%rax
10862  DB  255,224                             ; jmpq          *%rax
10863
10864PUBLIC _sk_from_srgb_sse41
10865_sk_from_srgb_sse41 LABEL PROC
10866  DB  68,15,40,29,10,46,0,0               ; movaps        0x2e0a(%rip),%xmm11        # 3be0 <_sk_callback_sse41+0x232>
10867  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
10868  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
10869  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
10870  DB  69,15,89,210                        ; mulps         %xmm10,%xmm10
10871  DB  68,15,40,37,2,46,0,0                ; movaps        0x2e02(%rip),%xmm12        # 3bf0 <_sk_callback_sse41+0x242>
10872  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10873  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
10874  DB  68,15,40,45,2,46,0,0                ; movaps        0x2e02(%rip),%xmm13        # 3c00 <_sk_callback_sse41+0x252>
10875  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
10876  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
10877  DB  68,15,40,53,2,46,0,0                ; movaps        0x2e02(%rip),%xmm14        # 3c10 <_sk_callback_sse41+0x262>
10878  DB  69,15,88,198                        ; addps         %xmm14,%xmm8
10879  DB  68,15,40,61,6,46,0,0                ; movaps        0x2e06(%rip),%xmm15        # 3c20 <_sk_callback_sse41+0x272>
10880  DB  65,15,194,199,1                     ; cmpltps       %xmm15,%xmm0
10881  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
10882  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
10883  DB  69,15,89,211                        ; mulps         %xmm11,%xmm10
10884  DB  15,40,193                           ; movaps        %xmm1,%xmm0
10885  DB  15,89,192                           ; mulps         %xmm0,%xmm0
10886  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
10887  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
10888  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
10889  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
10890  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
10891  DB  65,15,194,207,1                     ; cmpltps       %xmm15,%xmm1
10892  DB  15,40,193                           ; movaps        %xmm1,%xmm0
10893  DB  102,69,15,56,20,202                 ; blendvps      %xmm0,%xmm10,%xmm9
10894  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
10895  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
10896  DB  69,15,89,210                        ; mulps         %xmm10,%xmm10
10897  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
10898  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
10899  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
10900  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
10901  DB  65,15,194,215,1                     ; cmpltps       %xmm15,%xmm2
10902  DB  15,40,194                           ; movaps        %xmm2,%xmm0
10903  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
10904  DB  72,173                              ; lods          %ds:(%rsi),%rax
10905  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
10906  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
10907  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
10908  DB  255,224                             ; jmpq          *%rax
10909
10910PUBLIC _sk_to_srgb_sse41
10911_sk_to_srgb_sse41 LABEL PROC
10912  DB  72,131,236,24                       ; sub           $0x18,%rsp
10913  DB  15,41,60,36                         ; movaps        %xmm7,(%rsp)
10914  DB  15,40,254                           ; movaps        %xmm6,%xmm7
10915  DB  15,40,245                           ; movaps        %xmm5,%xmm6
10916  DB  15,40,236                           ; movaps        %xmm4,%xmm5
10917  DB  15,40,227                           ; movaps        %xmm3,%xmm4
10918  DB  15,40,218                           ; movaps        %xmm2,%xmm3
10919  DB  15,40,209                           ; movaps        %xmm1,%xmm2
10920  DB  68,15,82,192                        ; rsqrtps       %xmm0,%xmm8
10921  DB  69,15,83,200                        ; rcpps         %xmm8,%xmm9
10922  DB  69,15,82,208                        ; rsqrtps       %xmm8,%xmm10
10923  DB  68,15,40,29,115,45,0,0              ; movaps        0x2d73(%rip),%xmm11        # 3c30 <_sk_callback_sse41+0x282>
10924  DB  15,40,200                           ; movaps        %xmm0,%xmm1
10925  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
10926  DB  68,15,40,37,116,45,0,0              ; movaps        0x2d74(%rip),%xmm12        # 3c40 <_sk_callback_sse41+0x292>
10927  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
10928  DB  68,15,40,45,120,45,0,0              ; movaps        0x2d78(%rip),%xmm13        # 3c50 <_sk_callback_sse41+0x2a2>
10929  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
10930  DB  68,15,40,53,124,45,0,0              ; movaps        0x2d7c(%rip),%xmm14        # 3c60 <_sk_callback_sse41+0x2b2>
10931  DB  69,15,89,214                        ; mulps         %xmm14,%xmm10
10932  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
10933  DB  68,15,40,5,124,45,0,0               ; movaps        0x2d7c(%rip),%xmm8        # 3c70 <_sk_callback_sse41+0x2c2>
10934  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
10935  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
10936  DB  68,15,40,61,124,45,0,0              ; movaps        0x2d7c(%rip),%xmm15        # 3c80 <_sk_callback_sse41+0x2d2>
10937  DB  65,15,194,199,1                     ; cmpltps       %xmm15,%xmm0
10938  DB  102,68,15,56,20,201                 ; blendvps      %xmm0,%xmm1,%xmm9
10939  DB  15,82,194                           ; rsqrtps       %xmm2,%xmm0
10940  DB  15,83,200                           ; rcpps         %xmm0,%xmm1
10941  DB  15,82,192                           ; rsqrtps       %xmm0,%xmm0
10942  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
10943  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
10944  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
10945  DB  15,88,193                           ; addps         %xmm1,%xmm0
10946  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
10947  DB  68,15,93,208                        ; minps         %xmm0,%xmm10
10948  DB  15,40,202                           ; movaps        %xmm2,%xmm1
10949  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
10950  DB  65,15,194,215,1                     ; cmpltps       %xmm15,%xmm2
10951  DB  15,40,194                           ; movaps        %xmm2,%xmm0
10952  DB  102,68,15,56,20,209                 ; blendvps      %xmm0,%xmm1,%xmm10
10953  DB  15,82,195                           ; rsqrtps       %xmm3,%xmm0
10954  DB  15,83,200                           ; rcpps         %xmm0,%xmm1
10955  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
10956  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
10957  DB  15,82,192                           ; rsqrtps       %xmm0,%xmm0
10958  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
10959  DB  15,88,193                           ; addps         %xmm1,%xmm0
10960  DB  68,15,93,192                        ; minps         %xmm0,%xmm8
10961  DB  68,15,89,219                        ; mulps         %xmm3,%xmm11
10962  DB  65,15,194,223,1                     ; cmpltps       %xmm15,%xmm3
10963  DB  15,40,195                           ; movaps        %xmm3,%xmm0
10964  DB  102,69,15,56,20,195                 ; blendvps      %xmm0,%xmm11,%xmm8
10965  DB  72,173                              ; lods          %ds:(%rsi),%rax
10966  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
10967  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
10968  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
10969  DB  15,40,220                           ; movaps        %xmm4,%xmm3
10970  DB  15,40,229                           ; movaps        %xmm5,%xmm4
10971  DB  15,40,238                           ; movaps        %xmm6,%xmm5
10972  DB  15,40,247                           ; movaps        %xmm7,%xmm6
10973  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
10974  DB  72,131,196,24                       ; add           $0x18,%rsp
10975  DB  255,224                             ; jmpq          *%rax
10976
10977PUBLIC _sk_rgb_to_hsl_sse41
10978_sk_rgb_to_hsl_sse41 LABEL PROC
10979  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
10980  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
10981  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
10982  DB  69,15,95,217                        ; maxps         %xmm9,%xmm11
10983  DB  68,15,95,218                        ; maxps         %xmm2,%xmm11
10984  DB  69,15,40,224                        ; movaps        %xmm8,%xmm12
10985  DB  69,15,93,225                        ; minps         %xmm9,%xmm12
10986  DB  68,15,93,226                        ; minps         %xmm2,%xmm12
10987  DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
10988  DB  65,15,92,204                        ; subps         %xmm12,%xmm1
10989  DB  68,15,40,53,202,44,0,0              ; movaps        0x2cca(%rip),%xmm14        # 3c90 <_sk_callback_sse41+0x2e2>
10990  DB  68,15,94,241                        ; divps         %xmm1,%xmm14
10991  DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
10992  DB  69,15,194,208,0                     ; cmpeqps       %xmm8,%xmm10
10993  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
10994  DB  15,92,194                           ; subps         %xmm2,%xmm0
10995  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
10996  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
10997  DB  68,15,194,250,1                     ; cmpltps       %xmm2,%xmm15
10998  DB  68,15,84,61,177,44,0,0              ; andps         0x2cb1(%rip),%xmm15        # 3ca0 <_sk_callback_sse41+0x2f2>
10999  DB  68,15,88,248                        ; addps         %xmm0,%xmm15
11000  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
11001  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
11002  DB  65,15,92,208                        ; subps         %xmm8,%xmm2
11003  DB  65,15,89,214                        ; mulps         %xmm14,%xmm2
11004  DB  68,15,40,45,164,44,0,0              ; movaps        0x2ca4(%rip),%xmm13        # 3cb0 <_sk_callback_sse41+0x302>
11005  DB  65,15,88,213                        ; addps         %xmm13,%xmm2
11006  DB  69,15,92,193                        ; subps         %xmm9,%xmm8
11007  DB  69,15,89,198                        ; mulps         %xmm14,%xmm8
11008  DB  68,15,88,5,160,44,0,0               ; addps         0x2ca0(%rip),%xmm8        # 3cc0 <_sk_callback_sse41+0x312>
11009  DB  102,68,15,56,20,194                 ; blendvps      %xmm0,%xmm2,%xmm8
11010  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
11011  DB  102,69,15,56,20,199                 ; blendvps      %xmm0,%xmm15,%xmm8
11012  DB  68,15,89,5,152,44,0,0               ; mulps         0x2c98(%rip),%xmm8        # 3cd0 <_sk_callback_sse41+0x322>
11013  DB  69,15,40,203                        ; movaps        %xmm11,%xmm9
11014  DB  69,15,194,204,4                     ; cmpneqps      %xmm12,%xmm9
11015  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
11016  DB  69,15,92,235                        ; subps         %xmm11,%xmm13
11017  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
11018  DB  15,40,5,140,44,0,0                  ; movaps        0x2c8c(%rip),%xmm0        # 3ce0 <_sk_callback_sse41+0x332>
11019  DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
11020  DB  15,89,208                           ; mulps         %xmm0,%xmm2
11021  DB  15,194,194,1                        ; cmpltps       %xmm2,%xmm0
11022  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
11023  DB  102,69,15,56,20,221                 ; blendvps      %xmm0,%xmm13,%xmm11
11024  DB  65,15,94,203                        ; divps         %xmm11,%xmm1
11025  DB  65,15,84,201                        ; andps         %xmm9,%xmm1
11026  DB  72,173                              ; lods          %ds:(%rsi),%rax
11027  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
11028  DB  255,224                             ; jmpq          *%rax
11029
11030PUBLIC _sk_hsl_to_rgb_sse41
11031_sk_hsl_to_rgb_sse41 LABEL PROC
11032  DB  72,131,236,104                      ; sub           $0x68,%rsp
11033  DB  15,41,124,36,80                     ; movaps        %xmm7,0x50(%rsp)
11034  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%rsp)
11035  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%rsp)
11036  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%rsp)
11037  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%rsp)
11038  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
11039  DB  68,15,40,13,78,44,0,0               ; movaps        0x2c4e(%rip),%xmm9        # 3cf0 <_sk_callback_sse41+0x342>
11040  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
11041  DB  15,194,194,2                        ; cmpleps       %xmm2,%xmm0
11042  DB  15,40,217                           ; movaps        %xmm1,%xmm3
11043  DB  15,40,233                           ; movaps        %xmm1,%xmm5
11044  DB  15,89,234                           ; mulps         %xmm2,%xmm5
11045  DB  15,92,221                           ; subps         %xmm5,%xmm3
11046  DB  102,15,56,20,235                    ; blendvps      %xmm0,%xmm3,%xmm5
11047  DB  15,88,234                           ; addps         %xmm2,%xmm5
11048  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
11049  DB  15,41,20,36                         ; movaps        %xmm2,(%rsp)
11050  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
11051  DB  68,15,92,197                        ; subps         %xmm5,%xmm8
11052  DB  68,15,40,53,42,44,0,0               ; movaps        0x2c2a(%rip),%xmm14        # 3d00 <_sk_callback_sse41+0x352>
11053  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
11054  DB  102,65,15,58,8,198,1                ; roundps       $0x1,%xmm14,%xmm0
11055  DB  68,15,92,240                        ; subps         %xmm0,%xmm14
11056  DB  68,15,40,29,35,44,0,0               ; movaps        0x2c23(%rip),%xmm11        # 3d10 <_sk_callback_sse41+0x362>
11057  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
11058  DB  65,15,194,198,2                     ; cmpleps       %xmm14,%xmm0
11059  DB  15,40,245                           ; movaps        %xmm5,%xmm6
11060  DB  65,15,92,240                        ; subps         %xmm8,%xmm6
11061  DB  15,40,61,28,44,0,0                  ; movaps        0x2c1c(%rip),%xmm7        # 3d20 <_sk_callback_sse41+0x372>
11062  DB  69,15,40,238                        ; movaps        %xmm14,%xmm13
11063  DB  68,15,89,239                        ; mulps         %xmm7,%xmm13
11064  DB  15,40,29,29,44,0,0                  ; movaps        0x2c1d(%rip),%xmm3        # 3d30 <_sk_callback_sse41+0x382>
11065  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
11066  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
11067  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
11068  DB  69,15,88,224                        ; addps         %xmm8,%xmm12
11069  DB  102,69,15,56,20,224                 ; blendvps      %xmm0,%xmm8,%xmm12
11070  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
11071  DB  65,15,194,198,2                     ; cmpleps       %xmm14,%xmm0
11072  DB  68,15,40,253                        ; movaps        %xmm5,%xmm15
11073  DB  102,69,15,56,20,252                 ; blendvps      %xmm0,%xmm12,%xmm15
11074  DB  68,15,40,37,252,43,0,0              ; movaps        0x2bfc(%rip),%xmm12        # 3d40 <_sk_callback_sse41+0x392>
11075  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
11076  DB  65,15,194,198,2                     ; cmpleps       %xmm14,%xmm0
11077  DB  68,15,89,238                        ; mulps         %xmm6,%xmm13
11078  DB  69,15,88,232                        ; addps         %xmm8,%xmm13
11079  DB  102,69,15,56,20,239                 ; blendvps      %xmm0,%xmm15,%xmm13
11080  DB  69,15,87,246                        ; xorps         %xmm14,%xmm14
11081  DB  68,15,194,241,0                     ; cmpeqps       %xmm1,%xmm14
11082  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
11083  DB  102,68,15,56,20,234                 ; blendvps      %xmm0,%xmm2,%xmm13
11084  DB  102,65,15,58,8,194,1                ; roundps       $0x1,%xmm10,%xmm0
11085  DB  69,15,40,250                        ; movaps        %xmm10,%xmm15
11086  DB  68,15,92,248                        ; subps         %xmm0,%xmm15
11087  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
11088  DB  65,15,194,199,2                     ; cmpleps       %xmm15,%xmm0
11089  DB  65,15,40,207                        ; movaps        %xmm15,%xmm1
11090  DB  15,89,207                           ; mulps         %xmm7,%xmm1
11091  DB  15,40,211                           ; movaps        %xmm3,%xmm2
11092  DB  15,92,209                           ; subps         %xmm1,%xmm2
11093  DB  15,89,214                           ; mulps         %xmm6,%xmm2
11094  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
11095  DB  102,65,15,56,20,208                 ; blendvps      %xmm0,%xmm8,%xmm2
11096  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
11097  DB  65,15,194,199,2                     ; cmpleps       %xmm15,%xmm0
11098  DB  15,40,229                           ; movaps        %xmm5,%xmm4
11099  DB  102,15,56,20,226                    ; blendvps      %xmm0,%xmm2,%xmm4
11100  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
11101  DB  65,15,194,199,2                     ; cmpleps       %xmm15,%xmm0
11102  DB  15,89,206                           ; mulps         %xmm6,%xmm1
11103  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
11104  DB  102,15,56,20,204                    ; blendvps      %xmm0,%xmm4,%xmm1
11105  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
11106  DB  15,40,20,36                         ; movaps        (%rsp),%xmm2
11107  DB  102,15,56,20,202                    ; blendvps      %xmm0,%xmm2,%xmm1
11108  DB  68,15,88,21,117,43,0,0              ; addps         0x2b75(%rip),%xmm10        # 3d50 <_sk_callback_sse41+0x3a2>
11109  DB  102,65,15,58,8,194,1                ; roundps       $0x1,%xmm10,%xmm0
11110  DB  68,15,92,208                        ; subps         %xmm0,%xmm10
11111  DB  69,15,194,218,2                     ; cmpleps       %xmm10,%xmm11
11112  DB  65,15,89,250                        ; mulps         %xmm10,%xmm7
11113  DB  15,92,223                           ; subps         %xmm7,%xmm3
11114  DB  15,89,222                           ; mulps         %xmm6,%xmm3
11115  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
11116  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
11117  DB  102,65,15,56,20,216                 ; blendvps      %xmm0,%xmm8,%xmm3
11118  DB  69,15,194,202,2                     ; cmpleps       %xmm10,%xmm9
11119  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
11120  DB  102,15,56,20,235                    ; blendvps      %xmm0,%xmm3,%xmm5
11121  DB  69,15,194,226,2                     ; cmpleps       %xmm10,%xmm12
11122  DB  15,89,254                           ; mulps         %xmm6,%xmm7
11123  DB  68,15,88,199                        ; addps         %xmm7,%xmm8
11124  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
11125  DB  102,68,15,56,20,197                 ; blendvps      %xmm0,%xmm5,%xmm8
11126  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
11127  DB  102,68,15,56,20,194                 ; blendvps      %xmm0,%xmm2,%xmm8
11128  DB  72,173                              ; lods          %ds:(%rsi),%rax
11129  DB  65,15,40,197                        ; movaps        %xmm13,%xmm0
11130  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
11131  DB  15,40,92,36,16                      ; movaps        0x10(%rsp),%xmm3
11132  DB  15,40,100,36,32                     ; movaps        0x20(%rsp),%xmm4
11133  DB  15,40,108,36,48                     ; movaps        0x30(%rsp),%xmm5
11134  DB  15,40,116,36,64                     ; movaps        0x40(%rsp),%xmm6
11135  DB  15,40,124,36,80                     ; movaps        0x50(%rsp),%xmm7
11136  DB  72,131,196,104                      ; add           $0x68,%rsp
11137  DB  255,224                             ; jmpq          *%rax
11138
11139PUBLIC _sk_scale_1_float_sse41
11140_sk_scale_1_float_sse41 LABEL PROC
11141  DB  72,173                              ; lods          %ds:(%rsi),%rax
11142  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
11143  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
11144  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
11145  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
11146  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
11147  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
11148  DB  72,173                              ; lods          %ds:(%rsi),%rax
11149  DB  255,224                             ; jmpq          *%rax
11150
11151PUBLIC _sk_scale_u8_sse41
11152_sk_scale_u8_sse41 LABEL PROC
11153  DB  72,173                              ; lods          %ds:(%rsi),%rax
11154  DB  72,139,0                            ; mov           (%rax),%rax
11155  DB  102,68,15,56,49,4,56                ; pmovzxbd      (%rax,%rdi,1),%xmm8
11156  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11157  DB  68,15,89,5,206,42,0,0               ; mulps         0x2ace(%rip),%xmm8        # 3d60 <_sk_callback_sse41+0x3b2>
11158  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
11159  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
11160  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
11161  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
11162  DB  72,173                              ; lods          %ds:(%rsi),%rax
11163  DB  255,224                             ; jmpq          *%rax
11164
11165PUBLIC _sk_lerp_1_float_sse41
11166_sk_lerp_1_float_sse41 LABEL PROC
11167  DB  72,173                              ; lods          %ds:(%rsi),%rax
11168  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
11169  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
11170  DB  15,92,196                           ; subps         %xmm4,%xmm0
11171  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
11172  DB  15,88,196                           ; addps         %xmm4,%xmm0
11173  DB  15,92,205                           ; subps         %xmm5,%xmm1
11174  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
11175  DB  15,88,205                           ; addps         %xmm5,%xmm1
11176  DB  15,92,214                           ; subps         %xmm6,%xmm2
11177  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
11178  DB  15,88,214                           ; addps         %xmm6,%xmm2
11179  DB  15,92,223                           ; subps         %xmm7,%xmm3
11180  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
11181  DB  15,88,223                           ; addps         %xmm7,%xmm3
11182  DB  72,173                              ; lods          %ds:(%rsi),%rax
11183  DB  255,224                             ; jmpq          *%rax
11184
11185PUBLIC _sk_lerp_u8_sse41
11186_sk_lerp_u8_sse41 LABEL PROC
11187  DB  72,173                              ; lods          %ds:(%rsi),%rax
11188  DB  72,139,0                            ; mov           (%rax),%rax
11189  DB  102,68,15,56,49,4,56                ; pmovzxbd      (%rax,%rdi,1),%xmm8
11190  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11191  DB  68,15,89,5,122,42,0,0               ; mulps         0x2a7a(%rip),%xmm8        # 3d70 <_sk_callback_sse41+0x3c2>
11192  DB  15,92,196                           ; subps         %xmm4,%xmm0
11193  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
11194  DB  15,88,196                           ; addps         %xmm4,%xmm0
11195  DB  15,92,205                           ; subps         %xmm5,%xmm1
11196  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
11197  DB  15,88,205                           ; addps         %xmm5,%xmm1
11198  DB  15,92,214                           ; subps         %xmm6,%xmm2
11199  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
11200  DB  15,88,214                           ; addps         %xmm6,%xmm2
11201  DB  15,92,223                           ; subps         %xmm7,%xmm3
11202  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
11203  DB  15,88,223                           ; addps         %xmm7,%xmm3
11204  DB  72,173                              ; lods          %ds:(%rsi),%rax
11205  DB  255,224                             ; jmpq          *%rax
11206
11207PUBLIC _sk_lerp_565_sse41
11208_sk_lerp_565_sse41 LABEL PROC
11209  DB  72,173                              ; lods          %ds:(%rsi),%rax
11210  DB  72,139,0                            ; mov           (%rax),%rax
11211  DB  102,68,15,56,51,4,120               ; pmovzxwd      (%rax,%rdi,2),%xmm8
11212  DB  102,15,111,29,74,42,0,0             ; movdqa        0x2a4a(%rip),%xmm3        # 3d80 <_sk_callback_sse41+0x3d2>
11213  DB  102,65,15,219,216                   ; pand          %xmm8,%xmm3
11214  DB  68,15,91,203                        ; cvtdq2ps      %xmm3,%xmm9
11215  DB  68,15,89,13,73,42,0,0               ; mulps         0x2a49(%rip),%xmm9        # 3d90 <_sk_callback_sse41+0x3e2>
11216  DB  102,15,111,29,81,42,0,0             ; movdqa        0x2a51(%rip),%xmm3        # 3da0 <_sk_callback_sse41+0x3f2>
11217  DB  102,65,15,219,216                   ; pand          %xmm8,%xmm3
11218  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
11219  DB  15,89,29,82,42,0,0                  ; mulps         0x2a52(%rip),%xmm3        # 3db0 <_sk_callback_sse41+0x402>
11220  DB  102,68,15,219,5,89,42,0,0           ; pand          0x2a59(%rip),%xmm8        # 3dc0 <_sk_callback_sse41+0x412>
11221  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11222  DB  68,15,89,5,93,42,0,0                ; mulps         0x2a5d(%rip),%xmm8        # 3dd0 <_sk_callback_sse41+0x422>
11223  DB  15,92,196                           ; subps         %xmm4,%xmm0
11224  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
11225  DB  15,88,196                           ; addps         %xmm4,%xmm0
11226  DB  15,92,205                           ; subps         %xmm5,%xmm1
11227  DB  15,89,203                           ; mulps         %xmm3,%xmm1
11228  DB  15,88,205                           ; addps         %xmm5,%xmm1
11229  DB  15,92,214                           ; subps         %xmm6,%xmm2
11230  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
11231  DB  15,88,214                           ; addps         %xmm6,%xmm2
11232  DB  72,173                              ; lods          %ds:(%rsi),%rax
11233  DB  15,40,29,71,42,0,0                  ; movaps        0x2a47(%rip),%xmm3        # 3de0 <_sk_callback_sse41+0x432>
11234  DB  255,224                             ; jmpq          *%rax
11235
11236PUBLIC _sk_load_tables_sse41
11237_sk_load_tables_sse41 LABEL PROC
11238  DB  72,173                              ; lods          %ds:(%rsi),%rax
11239  DB  76,139,0                            ; mov           (%rax),%r8
11240  DB  76,139,72,8                         ; mov           0x8(%rax),%r9
11241  DB  243,69,15,111,4,184                 ; movdqu        (%r8,%rdi,4),%xmm8
11242  DB  102,15,111,5,62,42,0,0              ; movdqa        0x2a3e(%rip),%xmm0        # 3df0 <_sk_callback_sse41+0x442>
11243  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
11244  DB  102,73,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%r8
11245  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
11246  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11247  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11248  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
11249  DB  73,193,232,30                       ; shr           $0x1e,%r8
11250  DB  243,67,15,16,4,145                  ; movss         (%r9,%r10,4),%xmm0
11251  DB  102,65,15,58,33,4,9,16              ; insertps      $0x10,(%r9,%rcx,1),%xmm0
11252  DB  102,67,15,58,33,4,153,32            ; insertps      $0x20,(%r9,%r11,4),%xmm0
11253  DB  243,67,15,16,12,1                   ; movss         (%r9,%r8,1),%xmm1
11254  DB  102,15,58,33,193,48                 ; insertps      $0x30,%xmm1,%xmm0
11255  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
11256  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
11257  DB  102,15,56,0,13,249,41,0,0           ; pshufb        0x29f9(%rip),%xmm1        # 3e00 <_sk_callback_sse41+0x452>
11258  DB  102,73,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%r9
11259  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
11260  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11261  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11262  DB  69,15,182,217                       ; movzbl        %r9b,%r11d
11263  DB  73,193,233,30                       ; shr           $0x1e,%r9
11264  DB  243,67,15,16,12,144                 ; movss         (%r8,%r10,4),%xmm1
11265  DB  102,65,15,58,33,12,8,16             ; insertps      $0x10,(%r8,%rcx,1),%xmm1
11266  DB  243,67,15,16,20,152                 ; movss         (%r8,%r11,4),%xmm2
11267  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
11268  DB  243,67,15,16,20,8                   ; movss         (%r8,%r9,1),%xmm2
11269  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
11270  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
11271  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
11272  DB  102,15,56,0,21,181,41,0,0           ; pshufb        0x29b5(%rip),%xmm2        # 3e10 <_sk_callback_sse41+0x462>
11273  DB  102,72,15,58,22,209,1               ; pextrq        $0x1,%xmm2,%rcx
11274  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
11275  DB  68,15,182,200                       ; movzbl        %al,%r9d
11276  DB  72,193,232,30                       ; shr           $0x1e,%rax
11277  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11278  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11279  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
11280  DB  102,65,15,58,33,20,0,16             ; insertps      $0x10,(%r8,%rax,1),%xmm2
11281  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
11282  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
11283  DB  243,65,15,16,28,8                   ; movss         (%r8,%rcx,1),%xmm3
11284  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
11285  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
11286  DB  65,15,91,216                        ; cvtdq2ps      %xmm8,%xmm3
11287  DB  15,89,29,114,41,0,0                 ; mulps         0x2972(%rip),%xmm3        # 3e20 <_sk_callback_sse41+0x472>
11288  DB  72,173                              ; lods          %ds:(%rsi),%rax
11289  DB  255,224                             ; jmpq          *%rax
11290
11291PUBLIC _sk_load_tables_u16_be_sse41
11292_sk_load_tables_u16_be_sse41 LABEL PROC
11293  DB  72,173                              ; lods          %ds:(%rsi),%rax
11294  DB  72,139,8                            ; mov           (%rax),%rcx
11295  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
11296  DB  243,15,111,4,249                    ; movdqu        (%rcx,%rdi,8),%xmm0
11297  DB  243,15,111,76,249,16                ; movdqu        0x10(%rcx,%rdi,8),%xmm1
11298  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
11299  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
11300  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
11301  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
11302  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
11303  DB  102,68,15,105,200                   ; punpckhwd     %xmm0,%xmm9
11304  DB  102,68,15,111,5,69,41,0,0           ; movdqa        0x2945(%rip),%xmm8        # 3e30 <_sk_callback_sse41+0x482>
11305  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
11306  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
11307  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
11308  DB  102,73,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%r9
11309  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
11310  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11311  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11312  DB  69,15,182,217                       ; movzbl        %r9b,%r11d
11313  DB  73,193,233,30                       ; shr           $0x1e,%r9
11314  DB  243,67,15,16,4,144                  ; movss         (%r8,%r10,4),%xmm0
11315  DB  102,65,15,58,33,4,8,16              ; insertps      $0x10,(%r8,%rcx,1),%xmm0
11316  DB  243,67,15,16,20,152                 ; movss         (%r8,%r11,4),%xmm2
11317  DB  102,15,58,33,194,32                 ; insertps      $0x20,%xmm2,%xmm0
11318  DB  243,67,15,16,20,8                   ; movss         (%r8,%r9,1),%xmm2
11319  DB  102,15,58,33,194,48                 ; insertps      $0x30,%xmm2,%xmm0
11320  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
11321  DB  102,15,56,0,13,248,40,0,0           ; pshufb        0x28f8(%rip),%xmm1        # 3e40 <_sk_callback_sse41+0x492>
11322  DB  102,15,56,51,201                    ; pmovzxwd      %xmm1,%xmm1
11323  DB  102,73,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%r9
11324  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
11325  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11326  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11327  DB  69,15,182,217                       ; movzbl        %r9b,%r11d
11328  DB  73,193,233,30                       ; shr           $0x1e,%r9
11329  DB  243,67,15,16,12,144                 ; movss         (%r8,%r10,4),%xmm1
11330  DB  102,65,15,58,33,12,8,16             ; insertps      $0x10,(%r8,%rcx,1),%xmm1
11331  DB  243,67,15,16,20,152                 ; movss         (%r8,%r11,4),%xmm2
11332  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
11333  DB  243,67,15,16,20,8                   ; movss         (%r8,%r9,1),%xmm2
11334  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
11335  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
11336  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
11337  DB  102,65,15,56,51,208                 ; pmovzxwd      %xmm8,%xmm2
11338  DB  102,72,15,58,22,209,1               ; pextrq        $0x1,%xmm2,%rcx
11339  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
11340  DB  68,15,182,200                       ; movzbl        %al,%r9d
11341  DB  72,193,232,30                       ; shr           $0x1e,%rax
11342  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11343  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11344  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
11345  DB  102,65,15,58,33,20,0,16             ; insertps      $0x10,(%r8,%rax,1),%xmm2
11346  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
11347  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
11348  DB  243,65,15,16,28,8                   ; movss         (%r8,%rcx,1),%xmm3
11349  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
11350  DB  102,65,15,112,217,78                ; pshufd        $0x4e,%xmm9,%xmm3
11351  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
11352  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
11353  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
11354  DB  102,65,15,235,216                   ; por           %xmm8,%xmm3
11355  DB  102,15,56,51,219                    ; pmovzxwd      %xmm3,%xmm3
11356  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
11357  DB  15,89,29,70,40,0,0                  ; mulps         0x2846(%rip),%xmm3        # 3e50 <_sk_callback_sse41+0x4a2>
11358  DB  72,173                              ; lods          %ds:(%rsi),%rax
11359  DB  255,224                             ; jmpq          *%rax
11360
11361PUBLIC _sk_load_tables_rgb_u16_be_sse41
11362_sk_load_tables_rgb_u16_be_sse41 LABEL PROC
11363  DB  72,173                              ; lods          %ds:(%rsi),%rax
11364  DB  76,141,12,127                       ; lea           (%rdi,%rdi,2),%r9
11365  DB  72,139,8                            ; mov           (%rax),%rcx
11366  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
11367  DB  243,66,15,111,20,73                 ; movdqu        (%rcx,%r9,2),%xmm2
11368  DB  243,66,15,111,68,73,8               ; movdqu        0x8(%rcx,%r9,2),%xmm0
11369  DB  102,15,115,216,4                    ; psrldq        $0x4,%xmm0
11370  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
11371  DB  102,65,15,115,217,6                 ; psrldq        $0x6,%xmm9
11372  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
11373  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
11374  DB  102,68,15,97,200                    ; punpcklwd     %xmm0,%xmm9
11375  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
11376  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
11377  DB  102,68,15,111,5,8,40,0,0            ; movdqa        0x2808(%rip),%xmm8        # 3e60 <_sk_callback_sse41+0x4b2>
11378  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
11379  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
11380  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
11381  DB  102,73,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%r9
11382  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
11383  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11384  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11385  DB  69,15,182,217                       ; movzbl        %r9b,%r11d
11386  DB  73,193,233,30                       ; shr           $0x1e,%r9
11387  DB  243,67,15,16,4,144                  ; movss         (%r8,%r10,4),%xmm0
11388  DB  102,65,15,58,33,4,8,16              ; insertps      $0x10,(%r8,%rcx,1),%xmm0
11389  DB  243,67,15,16,28,152                 ; movss         (%r8,%r11,4),%xmm3
11390  DB  102,15,58,33,195,32                 ; insertps      $0x20,%xmm3,%xmm0
11391  DB  243,67,15,16,28,8                   ; movss         (%r8,%r9,1),%xmm3
11392  DB  102,15,58,33,195,48                 ; insertps      $0x30,%xmm3,%xmm0
11393  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
11394  DB  102,15,56,0,13,187,39,0,0           ; pshufb        0x27bb(%rip),%xmm1        # 3e70 <_sk_callback_sse41+0x4c2>
11395  DB  102,15,56,51,201                    ; pmovzxwd      %xmm1,%xmm1
11396  DB  102,73,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%r9
11397  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
11398  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11399  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11400  DB  69,15,182,217                       ; movzbl        %r9b,%r11d
11401  DB  73,193,233,30                       ; shr           $0x1e,%r9
11402  DB  243,67,15,16,12,144                 ; movss         (%r8,%r10,4),%xmm1
11403  DB  102,65,15,58,33,12,8,16             ; insertps      $0x10,(%r8,%rcx,1),%xmm1
11404  DB  243,67,15,16,28,152                 ; movss         (%r8,%r11,4),%xmm3
11405  DB  102,15,58,33,203,32                 ; insertps      $0x20,%xmm3,%xmm1
11406  DB  243,67,15,16,28,8                   ; movss         (%r8,%r9,1),%xmm3
11407  DB  102,15,58,33,203,48                 ; insertps      $0x30,%xmm3,%xmm1
11408  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
11409  DB  102,65,15,105,209                   ; punpckhwd     %xmm9,%xmm2
11410  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
11411  DB  102,15,56,51,210                    ; pmovzxwd      %xmm2,%xmm2
11412  DB  102,72,15,58,22,209,1               ; pextrq        $0x1,%xmm2,%rcx
11413  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
11414  DB  68,15,182,200                       ; movzbl        %al,%r9d
11415  DB  72,193,232,30                       ; shr           $0x1e,%rax
11416  DB  68,15,182,209                       ; movzbl        %cl,%r10d
11417  DB  72,193,233,30                       ; shr           $0x1e,%rcx
11418  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
11419  DB  102,65,15,58,33,20,0,16             ; insertps      $0x10,(%r8,%rax,1),%xmm2
11420  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
11421  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
11422  DB  243,65,15,16,28,8                   ; movss         (%r8,%rcx,1),%xmm3
11423  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
11424  DB  72,173                              ; lods          %ds:(%rsi),%rax
11425  DB  15,40,29,38,39,0,0                  ; movaps        0x2726(%rip),%xmm3        # 3e80 <_sk_callback_sse41+0x4d2>
11426  DB  255,224                             ; jmpq          *%rax
11427
11428PUBLIC _sk_byte_tables_sse41
11429_sk_byte_tables_sse41 LABEL PROC
11430  DB  65,86                               ; push          %r14
11431  DB  83                                  ; push          %rbx
11432  DB  72,173                              ; lods          %ds:(%rsi),%rax
11433  DB  68,15,40,5,39,39,0,0                ; movaps        0x2727(%rip),%xmm8        # 3e90 <_sk_callback_sse41+0x4e2>
11434  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
11435  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
11436  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
11437  DB  65,137,200                          ; mov           %ecx,%r8d
11438  DB  72,193,233,32                       ; shr           $0x20,%rcx
11439  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
11440  DB  69,137,202                          ; mov           %r9d,%r10d
11441  DB  73,193,233,32                       ; shr           $0x20,%r9
11442  DB  76,139,24                           ; mov           (%rax),%r11
11443  DB  76,139,112,8                        ; mov           0x8(%rax),%r14
11444  DB  102,67,15,58,32,4,19,0              ; pinsrb        $0x0,(%r11,%r10,1),%xmm0
11445  DB  102,67,15,58,32,4,11,1              ; pinsrb        $0x1,(%r11,%r9,1),%xmm0
11446  DB  67,15,182,28,3                      ; movzbl        (%r11,%r8,1),%ebx
11447  DB  102,15,58,32,195,2                  ; pinsrb        $0x2,%ebx,%xmm0
11448  DB  65,15,182,12,11                     ; movzbl        (%r11,%rcx,1),%ecx
11449  DB  102,15,58,32,193,3                  ; pinsrb        $0x3,%ecx,%xmm0
11450  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
11451  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
11452  DB  68,15,40,13,216,38,0,0              ; movaps        0x26d8(%rip),%xmm9        # 3ea0 <_sk_callback_sse41+0x4f2>
11453  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
11454  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
11455  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
11456  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
11457  DB  65,137,200                          ; mov           %ecx,%r8d
11458  DB  72,193,233,32                       ; shr           $0x20,%rcx
11459  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
11460  DB  65,137,217                          ; mov           %ebx,%r9d
11461  DB  72,193,235,32                       ; shr           $0x20,%rbx
11462  DB  102,67,15,58,32,12,14,0             ; pinsrb        $0x0,(%r14,%r9,1),%xmm1
11463  DB  102,65,15,58,32,12,30,1             ; pinsrb        $0x1,(%r14,%rbx,1),%xmm1
11464  DB  67,15,182,28,6                      ; movzbl        (%r14,%r8,1),%ebx
11465  DB  102,15,58,32,203,2                  ; pinsrb        $0x2,%ebx,%xmm1
11466  DB  65,15,182,12,14                     ; movzbl        (%r14,%rcx,1),%ecx
11467  DB  102,15,58,32,201,3                  ; pinsrb        $0x3,%ecx,%xmm1
11468  DB  102,15,56,49,201                    ; pmovzxbd      %xmm1,%xmm1
11469  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
11470  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
11471  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
11472  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
11473  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
11474  DB  102,72,15,58,22,211,1               ; pextrq        $0x1,%xmm2,%rbx
11475  DB  65,137,216                          ; mov           %ebx,%r8d
11476  DB  72,193,235,32                       ; shr           $0x20,%rbx
11477  DB  102,72,15,126,209                   ; movq          %xmm2,%rcx
11478  DB  65,137,202                          ; mov           %ecx,%r10d
11479  DB  72,193,233,32                       ; shr           $0x20,%rcx
11480  DB  102,67,15,58,32,20,17,0             ; pinsrb        $0x0,(%r9,%r10,1),%xmm2
11481  DB  102,65,15,58,32,20,9,1              ; pinsrb        $0x1,(%r9,%rcx,1),%xmm2
11482  DB  67,15,182,12,1                      ; movzbl        (%r9,%r8,1),%ecx
11483  DB  102,15,58,32,209,2                  ; pinsrb        $0x2,%ecx,%xmm2
11484  DB  65,15,182,12,25                     ; movzbl        (%r9,%rbx,1),%ecx
11485  DB  102,15,58,32,209,3                  ; pinsrb        $0x3,%ecx,%xmm2
11486  DB  102,15,56,49,210                    ; pmovzxbd      %xmm2,%xmm2
11487  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
11488  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
11489  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
11490  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
11491  DB  102,15,91,219                       ; cvtps2dq      %xmm3,%xmm3
11492  DB  102,72,15,58,22,217,1               ; pextrq        $0x1,%xmm3,%rcx
11493  DB  65,137,200                          ; mov           %ecx,%r8d
11494  DB  72,193,233,32                       ; shr           $0x20,%rcx
11495  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
11496  DB  65,137,217                          ; mov           %ebx,%r9d
11497  DB  72,193,235,32                       ; shr           $0x20,%rbx
11498  DB  102,66,15,58,32,28,8,0              ; pinsrb        $0x0,(%rax,%r9,1),%xmm3
11499  DB  102,15,58,32,28,24,1                ; pinsrb        $0x1,(%rax,%rbx,1),%xmm3
11500  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
11501  DB  102,15,58,32,219,2                  ; pinsrb        $0x2,%ebx,%xmm3
11502  DB  15,182,4,8                          ; movzbl        (%rax,%rcx,1),%eax
11503  DB  102,15,58,32,216,3                  ; pinsrb        $0x3,%eax,%xmm3
11504  DB  102,15,56,49,219                    ; pmovzxbd      %xmm3,%xmm3
11505  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
11506  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
11507  DB  72,173                              ; lods          %ds:(%rsi),%rax
11508  DB  91                                  ; pop           %rbx
11509  DB  65,94                               ; pop           %r14
11510  DB  255,224                             ; jmpq          *%rax
11511
11512PUBLIC _sk_byte_tables_rgb_sse41
11513_sk_byte_tables_rgb_sse41 LABEL PROC
11514  DB  65,86                               ; push          %r14
11515  DB  83                                  ; push          %rbx
11516  DB  72,173                              ; lods          %ds:(%rsi),%rax
11517  DB  139,72,24                           ; mov           0x18(%rax),%ecx
11518  DB  255,201                             ; dec           %ecx
11519  DB  102,68,15,110,193                   ; movd          %ecx,%xmm8
11520  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
11521  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11522  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
11523  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
11524  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
11525  DB  65,137,200                          ; mov           %ecx,%r8d
11526  DB  72,193,233,32                       ; shr           $0x20,%rcx
11527  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
11528  DB  69,137,202                          ; mov           %r9d,%r10d
11529  DB  77,137,203                          ; mov           %r9,%r11
11530  DB  73,193,235,32                       ; shr           $0x20,%r11
11531  DB  76,139,48                           ; mov           (%rax),%r14
11532  DB  76,139,72,8                         ; mov           0x8(%rax),%r9
11533  DB  102,67,15,58,32,4,22,0              ; pinsrb        $0x0,(%r14,%r10,1),%xmm0
11534  DB  102,67,15,58,32,4,30,1              ; pinsrb        $0x1,(%r14,%r11,1),%xmm0
11535  DB  67,15,182,28,6                      ; movzbl        (%r14,%r8,1),%ebx
11536  DB  102,15,58,32,195,2                  ; pinsrb        $0x2,%ebx,%xmm0
11537  DB  65,15,182,12,14                     ; movzbl        (%r14,%rcx,1),%ecx
11538  DB  102,15,58,32,193,3                  ; pinsrb        $0x3,%ecx,%xmm0
11539  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
11540  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
11541  DB  68,15,40,13,96,37,0,0               ; movaps        0x2560(%rip),%xmm9        # 3eb0 <_sk_callback_sse41+0x502>
11542  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
11543  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
11544  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
11545  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
11546  DB  65,137,200                          ; mov           %ecx,%r8d
11547  DB  72,193,233,32                       ; shr           $0x20,%rcx
11548  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
11549  DB  65,137,218                          ; mov           %ebx,%r10d
11550  DB  72,193,235,32                       ; shr           $0x20,%rbx
11551  DB  102,67,15,58,32,12,17,0             ; pinsrb        $0x0,(%r9,%r10,1),%xmm1
11552  DB  102,65,15,58,32,12,25,1             ; pinsrb        $0x1,(%r9,%rbx,1),%xmm1
11553  DB  67,15,182,28,1                      ; movzbl        (%r9,%r8,1),%ebx
11554  DB  102,15,58,32,203,2                  ; pinsrb        $0x2,%ebx,%xmm1
11555  DB  65,15,182,12,9                      ; movzbl        (%r9,%rcx,1),%ecx
11556  DB  102,15,58,32,201,3                  ; pinsrb        $0x3,%ecx,%xmm1
11557  DB  102,15,56,49,201                    ; pmovzxbd      %xmm1,%xmm1
11558  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
11559  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
11560  DB  72,139,64,16                        ; mov           0x10(%rax),%rax
11561  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
11562  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
11563  DB  102,72,15,58,22,209,1               ; pextrq        $0x1,%xmm2,%rcx
11564  DB  65,137,200                          ; mov           %ecx,%r8d
11565  DB  72,193,233,32                       ; shr           $0x20,%rcx
11566  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
11567  DB  65,137,217                          ; mov           %ebx,%r9d
11568  DB  72,193,235,32                       ; shr           $0x20,%rbx
11569  DB  102,66,15,58,32,20,8,0              ; pinsrb        $0x0,(%rax,%r9,1),%xmm2
11570  DB  102,15,58,32,20,24,1                ; pinsrb        $0x1,(%rax,%rbx,1),%xmm2
11571  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
11572  DB  102,15,58,32,211,2                  ; pinsrb        $0x2,%ebx,%xmm2
11573  DB  15,182,4,8                          ; movzbl        (%rax,%rcx,1),%eax
11574  DB  102,15,58,32,208,3                  ; pinsrb        $0x3,%eax,%xmm2
11575  DB  102,15,56,49,210                    ; pmovzxbd      %xmm2,%xmm2
11576  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
11577  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
11578  DB  72,173                              ; lods          %ds:(%rsi),%rax
11579  DB  91                                  ; pop           %rbx
11580  DB  65,94                               ; pop           %r14
11581  DB  255,224                             ; jmpq          *%rax
11582
11583PUBLIC _sk_table_r_sse41
11584_sk_table_r_sse41 LABEL PROC
11585  DB  72,173                              ; lods          %ds:(%rsi),%rax
11586  DB  76,139,8                            ; mov           (%rax),%r9
11587  DB  139,64,8                            ; mov           0x8(%rax),%eax
11588  DB  255,200                             ; dec           %eax
11589  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
11590  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
11591  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11592  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
11593  DB  102,65,15,91,192                    ; cvtps2dq      %xmm8,%xmm0
11594  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
11595  DB  65,137,192                          ; mov           %eax,%r8d
11596  DB  72,193,232,32                       ; shr           $0x20,%rax
11597  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
11598  DB  65,137,202                          ; mov           %ecx,%r10d
11599  DB  72,193,233,32                       ; shr           $0x20,%rcx
11600  DB  243,67,15,16,4,145                  ; movss         (%r9,%r10,4),%xmm0
11601  DB  102,65,15,58,33,4,137,16            ; insertps      $0x10,(%r9,%rcx,4),%xmm0
11602  DB  243,71,15,16,4,129                  ; movss         (%r9,%r8,4),%xmm8
11603  DB  102,65,15,58,33,192,32              ; insertps      $0x20,%xmm8,%xmm0
11604  DB  243,69,15,16,4,129                  ; movss         (%r9,%rax,4),%xmm8
11605  DB  102,65,15,58,33,192,48              ; insertps      $0x30,%xmm8,%xmm0
11606  DB  72,173                              ; lods          %ds:(%rsi),%rax
11607  DB  255,224                             ; jmpq          *%rax
11608
11609PUBLIC _sk_table_g_sse41
11610_sk_table_g_sse41 LABEL PROC
11611  DB  72,173                              ; lods          %ds:(%rsi),%rax
11612  DB  76,139,8                            ; mov           (%rax),%r9
11613  DB  139,64,8                            ; mov           0x8(%rax),%eax
11614  DB  255,200                             ; dec           %eax
11615  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
11616  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
11617  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11618  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
11619  DB  102,65,15,91,200                    ; cvtps2dq      %xmm8,%xmm1
11620  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
11621  DB  65,137,192                          ; mov           %eax,%r8d
11622  DB  72,193,232,32                       ; shr           $0x20,%rax
11623  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
11624  DB  65,137,202                          ; mov           %ecx,%r10d
11625  DB  72,193,233,32                       ; shr           $0x20,%rcx
11626  DB  243,67,15,16,12,145                 ; movss         (%r9,%r10,4),%xmm1
11627  DB  102,65,15,58,33,12,137,16           ; insertps      $0x10,(%r9,%rcx,4),%xmm1
11628  DB  243,71,15,16,4,129                  ; movss         (%r9,%r8,4),%xmm8
11629  DB  102,65,15,58,33,200,32              ; insertps      $0x20,%xmm8,%xmm1
11630  DB  243,69,15,16,4,129                  ; movss         (%r9,%rax,4),%xmm8
11631  DB  102,65,15,58,33,200,48              ; insertps      $0x30,%xmm8,%xmm1
11632  DB  72,173                              ; lods          %ds:(%rsi),%rax
11633  DB  255,224                             ; jmpq          *%rax
11634
11635PUBLIC _sk_table_b_sse41
11636_sk_table_b_sse41 LABEL PROC
11637  DB  72,173                              ; lods          %ds:(%rsi),%rax
11638  DB  76,139,8                            ; mov           (%rax),%r9
11639  DB  139,64,8                            ; mov           0x8(%rax),%eax
11640  DB  255,200                             ; dec           %eax
11641  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
11642  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
11643  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11644  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
11645  DB  102,65,15,91,208                    ; cvtps2dq      %xmm8,%xmm2
11646  DB  102,72,15,58,22,208,1               ; pextrq        $0x1,%xmm2,%rax
11647  DB  65,137,192                          ; mov           %eax,%r8d
11648  DB  72,193,232,32                       ; shr           $0x20,%rax
11649  DB  102,72,15,126,209                   ; movq          %xmm2,%rcx
11650  DB  65,137,202                          ; mov           %ecx,%r10d
11651  DB  72,193,233,32                       ; shr           $0x20,%rcx
11652  DB  243,67,15,16,20,145                 ; movss         (%r9,%r10,4),%xmm2
11653  DB  102,65,15,58,33,20,137,16           ; insertps      $0x10,(%r9,%rcx,4),%xmm2
11654  DB  243,71,15,16,4,129                  ; movss         (%r9,%r8,4),%xmm8
11655  DB  102,65,15,58,33,208,32              ; insertps      $0x20,%xmm8,%xmm2
11656  DB  243,69,15,16,4,129                  ; movss         (%r9,%rax,4),%xmm8
11657  DB  102,65,15,58,33,208,48              ; insertps      $0x30,%xmm8,%xmm2
11658  DB  72,173                              ; lods          %ds:(%rsi),%rax
11659  DB  255,224                             ; jmpq          *%rax
11660
11661PUBLIC _sk_table_a_sse41
11662_sk_table_a_sse41 LABEL PROC
11663  DB  72,173                              ; lods          %ds:(%rsi),%rax
11664  DB  76,139,8                            ; mov           (%rax),%r9
11665  DB  139,64,8                            ; mov           0x8(%rax),%eax
11666  DB  255,200                             ; dec           %eax
11667  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
11668  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
11669  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
11670  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
11671  DB  102,65,15,91,216                    ; cvtps2dq      %xmm8,%xmm3
11672  DB  102,72,15,58,22,216,1               ; pextrq        $0x1,%xmm3,%rax
11673  DB  65,137,192                          ; mov           %eax,%r8d
11674  DB  72,193,232,32                       ; shr           $0x20,%rax
11675  DB  102,72,15,126,217                   ; movq          %xmm3,%rcx
11676  DB  65,137,202                          ; mov           %ecx,%r10d
11677  DB  72,193,233,32                       ; shr           $0x20,%rcx
11678  DB  243,67,15,16,28,145                 ; movss         (%r9,%r10,4),%xmm3
11679  DB  102,65,15,58,33,28,137,16           ; insertps      $0x10,(%r9,%rcx,4),%xmm3
11680  DB  243,71,15,16,4,129                  ; movss         (%r9,%r8,4),%xmm8
11681  DB  102,65,15,58,33,216,32              ; insertps      $0x20,%xmm8,%xmm3
11682  DB  243,69,15,16,4,129                  ; movss         (%r9,%rax,4),%xmm8
11683  DB  102,65,15,58,33,216,48              ; insertps      $0x30,%xmm8,%xmm3
11684  DB  72,173                              ; lods          %ds:(%rsi),%rax
11685  DB  255,224                             ; jmpq          *%rax
11686
11687PUBLIC _sk_parametric_r_sse41
11688_sk_parametric_r_sse41 LABEL PROC
11689  DB  72,173                              ; lods          %ds:(%rsi),%rax
11690  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
11691  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
11692  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
11693  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
11694  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
11695  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
11696  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
11697  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
11698  DB  65,15,194,192,2                     ; cmpleps       %xmm8,%xmm0
11699  DB  243,68,15,16,64,24                  ; movss         0x18(%rax),%xmm8
11700  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
11701  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
11702  DB  243,68,15,16,24                     ; movss         (%rax),%xmm11
11703  DB  243,68,15,16,64,8                   ; movss         0x8(%rax),%xmm8
11704  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
11705  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
11706  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
11707  DB  69,15,91,194                        ; cvtdq2ps      %xmm10,%xmm8
11708  DB  68,15,89,5,183,34,0,0               ; mulps         0x22b7(%rip),%xmm8        # 3ec0 <_sk_callback_sse41+0x512>
11709  DB  68,15,84,21,191,34,0,0              ; andps         0x22bf(%rip),%xmm10        # 3ed0 <_sk_callback_sse41+0x522>
11710  DB  68,15,86,21,199,34,0,0              ; orps          0x22c7(%rip),%xmm10        # 3ee0 <_sk_callback_sse41+0x532>
11711  DB  68,15,88,5,207,34,0,0               ; addps         0x22cf(%rip),%xmm8        # 3ef0 <_sk_callback_sse41+0x542>
11712  DB  68,15,40,37,215,34,0,0              ; movaps        0x22d7(%rip),%xmm12        # 3f00 <_sk_callback_sse41+0x552>
11713  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
11714  DB  69,15,92,196                        ; subps         %xmm12,%xmm8
11715  DB  68,15,88,21,215,34,0,0              ; addps         0x22d7(%rip),%xmm10        # 3f10 <_sk_callback_sse41+0x562>
11716  DB  68,15,40,37,223,34,0,0              ; movaps        0x22df(%rip),%xmm12        # 3f20 <_sk_callback_sse41+0x572>
11717  DB  69,15,94,226                        ; divps         %xmm10,%xmm12
11718  DB  69,15,92,196                        ; subps         %xmm12,%xmm8
11719  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
11720  DB  102,69,15,58,8,208,1                ; roundps       $0x1,%xmm8,%xmm10
11721  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
11722  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
11723  DB  68,15,88,5,204,34,0,0               ; addps         0x22cc(%rip),%xmm8        # 3f30 <_sk_callback_sse41+0x582>
11724  DB  68,15,40,21,212,34,0,0              ; movaps        0x22d4(%rip),%xmm10        # 3f40 <_sk_callback_sse41+0x592>
11725  DB  69,15,89,211                        ; mulps         %xmm11,%xmm10
11726  DB  69,15,92,194                        ; subps         %xmm10,%xmm8
11727  DB  68,15,40,21,212,34,0,0              ; movaps        0x22d4(%rip),%xmm10        # 3f50 <_sk_callback_sse41+0x5a2>
11728  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
11729  DB  68,15,40,29,216,34,0,0              ; movaps        0x22d8(%rip),%xmm11        # 3f60 <_sk_callback_sse41+0x5b2>
11730  DB  69,15,94,218                        ; divps         %xmm10,%xmm11
11731  DB  69,15,88,216                        ; addps         %xmm8,%xmm11
11732  DB  68,15,89,29,216,34,0,0              ; mulps         0x22d8(%rip),%xmm11        # 3f70 <_sk_callback_sse41+0x5c2>
11733  DB  102,69,15,91,211                    ; cvtps2dq      %xmm11,%xmm10
11734  DB  243,68,15,16,64,20                  ; movss         0x14(%rax),%xmm8
11735  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
11736  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
11737  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
11738  DB  15,87,192                           ; xorps         %xmm0,%xmm0
11739  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
11740  DB  68,15,93,5,191,34,0,0               ; minps         0x22bf(%rip),%xmm8        # 3f80 <_sk_callback_sse41+0x5d2>
11741  DB  72,173                              ; lods          %ds:(%rsi),%rax
11742  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
11743  DB  255,224                             ; jmpq          *%rax
11744
11745PUBLIC _sk_parametric_g_sse41
11746_sk_parametric_g_sse41 LABEL PROC
11747  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
11748  DB  72,173                              ; lods          %ds:(%rsi),%rax
11749  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
11750  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
11751  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
11752  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
11753  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
11754  DB  243,68,15,16,88,4                   ; movss         0x4(%rax),%xmm11
11755  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
11756  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
11757  DB  15,40,193                           ; movaps        %xmm1,%xmm0
11758  DB  65,15,194,194,2                     ; cmpleps       %xmm10,%xmm0
11759  DB  243,15,16,72,24                     ; movss         0x18(%rax),%xmm1
11760  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
11761  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
11762  DB  243,68,15,16,16                     ; movss         (%rax),%xmm10
11763  DB  243,15,16,72,8                      ; movss         0x8(%rax),%xmm1
11764  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
11765  DB  68,15,88,217                        ; addps         %xmm1,%xmm11
11766  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
11767  DB  69,15,91,227                        ; cvtdq2ps      %xmm11,%xmm12
11768  DB  68,15,89,37,96,34,0,0               ; mulps         0x2260(%rip),%xmm12        # 3f90 <_sk_callback_sse41+0x5e2>
11769  DB  68,15,84,29,104,34,0,0              ; andps         0x2268(%rip),%xmm11        # 3fa0 <_sk_callback_sse41+0x5f2>
11770  DB  68,15,86,29,112,34,0,0              ; orps          0x2270(%rip),%xmm11        # 3fb0 <_sk_callback_sse41+0x602>
11771  DB  68,15,88,37,120,34,0,0              ; addps         0x2278(%rip),%xmm12        # 3fc0 <_sk_callback_sse41+0x612>
11772  DB  15,40,13,129,34,0,0                 ; movaps        0x2281(%rip),%xmm1        # 3fd0 <_sk_callback_sse41+0x622>
11773  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
11774  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
11775  DB  68,15,88,29,129,34,0,0              ; addps         0x2281(%rip),%xmm11        # 3fe0 <_sk_callback_sse41+0x632>
11776  DB  15,40,13,138,34,0,0                 ; movaps        0x228a(%rip),%xmm1        # 3ff0 <_sk_callback_sse41+0x642>
11777  DB  65,15,94,203                        ; divps         %xmm11,%xmm1
11778  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
11779  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
11780  DB  102,69,15,58,8,212,1                ; roundps       $0x1,%xmm12,%xmm10
11781  DB  69,15,40,220                        ; movaps        %xmm12,%xmm11
11782  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
11783  DB  68,15,88,37,119,34,0,0              ; addps         0x2277(%rip),%xmm12        # 4000 <_sk_callback_sse41+0x652>
11784  DB  15,40,13,128,34,0,0                 ; movaps        0x2280(%rip),%xmm1        # 4010 <_sk_callback_sse41+0x662>
11785  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
11786  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
11787  DB  68,15,40,21,128,34,0,0              ; movaps        0x2280(%rip),%xmm10        # 4020 <_sk_callback_sse41+0x672>
11788  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
11789  DB  15,40,13,133,34,0,0                 ; movaps        0x2285(%rip),%xmm1        # 4030 <_sk_callback_sse41+0x682>
11790  DB  65,15,94,202                        ; divps         %xmm10,%xmm1
11791  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
11792  DB  15,89,13,134,34,0,0                 ; mulps         0x2286(%rip),%xmm1        # 4040 <_sk_callback_sse41+0x692>
11793  DB  102,68,15,91,209                    ; cvtps2dq      %xmm1,%xmm10
11794  DB  243,15,16,72,20                     ; movss         0x14(%rax),%xmm1
11795  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
11796  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
11797  DB  102,65,15,56,20,201                 ; blendvps      %xmm0,%xmm9,%xmm1
11798  DB  15,87,192                           ; xorps         %xmm0,%xmm0
11799  DB  15,95,200                           ; maxps         %xmm0,%xmm1
11800  DB  15,93,13,113,34,0,0                 ; minps         0x2271(%rip),%xmm1        # 4050 <_sk_callback_sse41+0x6a2>
11801  DB  72,173                              ; lods          %ds:(%rsi),%rax
11802  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
11803  DB  255,224                             ; jmpq          *%rax
11804
11805PUBLIC _sk_parametric_b_sse41
11806_sk_parametric_b_sse41 LABEL PROC
11807  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
11808  DB  72,173                              ; lods          %ds:(%rsi),%rax
11809  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
11810  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
11811  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
11812  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
11813  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
11814  DB  243,68,15,16,88,4                   ; movss         0x4(%rax),%xmm11
11815  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
11816  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
11817  DB  15,40,194                           ; movaps        %xmm2,%xmm0
11818  DB  65,15,194,194,2                     ; cmpleps       %xmm10,%xmm0
11819  DB  243,15,16,80,24                     ; movss         0x18(%rax),%xmm2
11820  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
11821  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
11822  DB  243,68,15,16,16                     ; movss         (%rax),%xmm10
11823  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
11824  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
11825  DB  68,15,88,218                        ; addps         %xmm2,%xmm11
11826  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
11827  DB  69,15,91,227                        ; cvtdq2ps      %xmm11,%xmm12
11828  DB  68,15,89,37,18,34,0,0               ; mulps         0x2212(%rip),%xmm12        # 4060 <_sk_callback_sse41+0x6b2>
11829  DB  68,15,84,29,26,34,0,0               ; andps         0x221a(%rip),%xmm11        # 4070 <_sk_callback_sse41+0x6c2>
11830  DB  68,15,86,29,34,34,0,0               ; orps          0x2222(%rip),%xmm11        # 4080 <_sk_callback_sse41+0x6d2>
11831  DB  68,15,88,37,42,34,0,0               ; addps         0x222a(%rip),%xmm12        # 4090 <_sk_callback_sse41+0x6e2>
11832  DB  15,40,21,51,34,0,0                  ; movaps        0x2233(%rip),%xmm2        # 40a0 <_sk_callback_sse41+0x6f2>
11833  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
11834  DB  68,15,92,226                        ; subps         %xmm2,%xmm12
11835  DB  68,15,88,29,51,34,0,0               ; addps         0x2233(%rip),%xmm11        # 40b0 <_sk_callback_sse41+0x702>
11836  DB  15,40,21,60,34,0,0                  ; movaps        0x223c(%rip),%xmm2        # 40c0 <_sk_callback_sse41+0x712>
11837  DB  65,15,94,211                        ; divps         %xmm11,%xmm2
11838  DB  68,15,92,226                        ; subps         %xmm2,%xmm12
11839  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
11840  DB  102,69,15,58,8,212,1                ; roundps       $0x1,%xmm12,%xmm10
11841  DB  69,15,40,220                        ; movaps        %xmm12,%xmm11
11842  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
11843  DB  68,15,88,37,41,34,0,0               ; addps         0x2229(%rip),%xmm12        # 40d0 <_sk_callback_sse41+0x722>
11844  DB  15,40,21,50,34,0,0                  ; movaps        0x2232(%rip),%xmm2        # 40e0 <_sk_callback_sse41+0x732>
11845  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
11846  DB  68,15,92,226                        ; subps         %xmm2,%xmm12
11847  DB  68,15,40,21,50,34,0,0               ; movaps        0x2232(%rip),%xmm10        # 40f0 <_sk_callback_sse41+0x742>
11848  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
11849  DB  15,40,21,55,34,0,0                  ; movaps        0x2237(%rip),%xmm2        # 4100 <_sk_callback_sse41+0x752>
11850  DB  65,15,94,210                        ; divps         %xmm10,%xmm2
11851  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
11852  DB  15,89,21,56,34,0,0                  ; mulps         0x2238(%rip),%xmm2        # 4110 <_sk_callback_sse41+0x762>
11853  DB  102,68,15,91,210                    ; cvtps2dq      %xmm2,%xmm10
11854  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
11855  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
11856  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
11857  DB  102,65,15,56,20,209                 ; blendvps      %xmm0,%xmm9,%xmm2
11858  DB  15,87,192                           ; xorps         %xmm0,%xmm0
11859  DB  15,95,208                           ; maxps         %xmm0,%xmm2
11860  DB  15,93,21,35,34,0,0                  ; minps         0x2223(%rip),%xmm2        # 4120 <_sk_callback_sse41+0x772>
11861  DB  72,173                              ; lods          %ds:(%rsi),%rax
11862  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
11863  DB  255,224                             ; jmpq          *%rax
11864
11865PUBLIC _sk_parametric_a_sse41
11866_sk_parametric_a_sse41 LABEL PROC
11867  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
11868  DB  72,173                              ; lods          %ds:(%rsi),%rax
11869  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
11870  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
11871  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
11872  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
11873  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
11874  DB  243,68,15,16,88,4                   ; movss         0x4(%rax),%xmm11
11875  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
11876  DB  68,15,89,219                        ; mulps         %xmm3,%xmm11
11877  DB  15,40,195                           ; movaps        %xmm3,%xmm0
11878  DB  65,15,194,194,2                     ; cmpleps       %xmm10,%xmm0
11879  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
11880  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
11881  DB  68,15,88,203                        ; addps         %xmm3,%xmm9
11882  DB  243,68,15,16,16                     ; movss         (%rax),%xmm10
11883  DB  243,15,16,88,8                      ; movss         0x8(%rax),%xmm3
11884  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
11885  DB  68,15,88,219                        ; addps         %xmm3,%xmm11
11886  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
11887  DB  69,15,91,227                        ; cvtdq2ps      %xmm11,%xmm12
11888  DB  68,15,89,37,196,33,0,0              ; mulps         0x21c4(%rip),%xmm12        # 4130 <_sk_callback_sse41+0x782>
11889  DB  68,15,84,29,204,33,0,0              ; andps         0x21cc(%rip),%xmm11        # 4140 <_sk_callback_sse41+0x792>
11890  DB  68,15,86,29,212,33,0,0              ; orps          0x21d4(%rip),%xmm11        # 4150 <_sk_callback_sse41+0x7a2>
11891  DB  68,15,88,37,220,33,0,0              ; addps         0x21dc(%rip),%xmm12        # 4160 <_sk_callback_sse41+0x7b2>
11892  DB  15,40,29,229,33,0,0                 ; movaps        0x21e5(%rip),%xmm3        # 4170 <_sk_callback_sse41+0x7c2>
11893  DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
11894  DB  68,15,92,227                        ; subps         %xmm3,%xmm12
11895  DB  68,15,88,29,229,33,0,0              ; addps         0x21e5(%rip),%xmm11        # 4180 <_sk_callback_sse41+0x7d2>
11896  DB  15,40,29,238,33,0,0                 ; movaps        0x21ee(%rip),%xmm3        # 4190 <_sk_callback_sse41+0x7e2>
11897  DB  65,15,94,219                        ; divps         %xmm11,%xmm3
11898  DB  68,15,92,227                        ; subps         %xmm3,%xmm12
11899  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
11900  DB  102,69,15,58,8,212,1                ; roundps       $0x1,%xmm12,%xmm10
11901  DB  69,15,40,220                        ; movaps        %xmm12,%xmm11
11902  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
11903  DB  68,15,88,37,219,33,0,0              ; addps         0x21db(%rip),%xmm12        # 41a0 <_sk_callback_sse41+0x7f2>
11904  DB  15,40,29,228,33,0,0                 ; movaps        0x21e4(%rip),%xmm3        # 41b0 <_sk_callback_sse41+0x802>
11905  DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
11906  DB  68,15,92,227                        ; subps         %xmm3,%xmm12
11907  DB  68,15,40,21,228,33,0,0              ; movaps        0x21e4(%rip),%xmm10        # 41c0 <_sk_callback_sse41+0x812>
11908  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
11909  DB  15,40,29,233,33,0,0                 ; movaps        0x21e9(%rip),%xmm3        # 41d0 <_sk_callback_sse41+0x822>
11910  DB  65,15,94,218                        ; divps         %xmm10,%xmm3
11911  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
11912  DB  15,89,29,234,33,0,0                 ; mulps         0x21ea(%rip),%xmm3        # 41e0 <_sk_callback_sse41+0x832>
11913  DB  102,68,15,91,211                    ; cvtps2dq      %xmm3,%xmm10
11914  DB  243,15,16,88,20                     ; movss         0x14(%rax),%xmm3
11915  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
11916  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
11917  DB  102,65,15,56,20,217                 ; blendvps      %xmm0,%xmm9,%xmm3
11918  DB  15,87,192                           ; xorps         %xmm0,%xmm0
11919  DB  15,95,216                           ; maxps         %xmm0,%xmm3
11920  DB  15,93,29,213,33,0,0                 ; minps         0x21d5(%rip),%xmm3        # 41f0 <_sk_callback_sse41+0x842>
11921  DB  72,173                              ; lods          %ds:(%rsi),%rax
11922  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
11923  DB  255,224                             ; jmpq          *%rax
11924
11925PUBLIC _sk_lab_to_xyz_sse41
11926_sk_lab_to_xyz_sse41 LABEL PROC
11927  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
11928  DB  68,15,89,5,209,33,0,0               ; mulps         0x21d1(%rip),%xmm8        # 4200 <_sk_callback_sse41+0x852>
11929  DB  68,15,40,13,217,33,0,0              ; movaps        0x21d9(%rip),%xmm9        # 4210 <_sk_callback_sse41+0x862>
11930  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
11931  DB  15,40,5,222,33,0,0                  ; movaps        0x21de(%rip),%xmm0        # 4220 <_sk_callback_sse41+0x872>
11932  DB  15,88,200                           ; addps         %xmm0,%xmm1
11933  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
11934  DB  15,88,208                           ; addps         %xmm0,%xmm2
11935  DB  68,15,88,5,220,33,0,0               ; addps         0x21dc(%rip),%xmm8        # 4230 <_sk_callback_sse41+0x882>
11936  DB  68,15,89,5,228,33,0,0               ; mulps         0x21e4(%rip),%xmm8        # 4240 <_sk_callback_sse41+0x892>
11937  DB  15,89,13,237,33,0,0                 ; mulps         0x21ed(%rip),%xmm1        # 4250 <_sk_callback_sse41+0x8a2>
11938  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
11939  DB  15,89,21,242,33,0,0                 ; mulps         0x21f2(%rip),%xmm2        # 4260 <_sk_callback_sse41+0x8b2>
11940  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
11941  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
11942  DB  68,15,40,217                        ; movaps        %xmm1,%xmm11
11943  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
11944  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
11945  DB  68,15,40,13,230,33,0,0              ; movaps        0x21e6(%rip),%xmm9        # 4270 <_sk_callback_sse41+0x8c2>
11946  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
11947  DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
11948  DB  15,40,21,230,33,0,0                 ; movaps        0x21e6(%rip),%xmm2        # 4280 <_sk_callback_sse41+0x8d2>
11949  DB  15,88,202                           ; addps         %xmm2,%xmm1
11950  DB  68,15,40,37,235,33,0,0              ; movaps        0x21eb(%rip),%xmm12        # 4290 <_sk_callback_sse41+0x8e2>
11951  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
11952  DB  102,65,15,56,20,203                 ; blendvps      %xmm0,%xmm11,%xmm1
11953  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
11954  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
11955  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
11956  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
11957  DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
11958  DB  68,15,88,194                        ; addps         %xmm2,%xmm8
11959  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
11960  DB  102,69,15,56,20,195                 ; blendvps      %xmm0,%xmm11,%xmm8
11961  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
11962  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
11963  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
11964  DB  69,15,194,203,1                     ; cmpltps       %xmm11,%xmm9
11965  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
11966  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
11967  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
11968  DB  102,65,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm2
11969  DB  15,89,13,164,33,0,0                 ; mulps         0x21a4(%rip),%xmm1        # 42a0 <_sk_callback_sse41+0x8f2>
11970  DB  15,89,21,173,33,0,0                 ; mulps         0x21ad(%rip),%xmm2        # 42b0 <_sk_callback_sse41+0x902>
11971  DB  72,173                              ; lods          %ds:(%rsi),%rax
11972  DB  15,40,193                           ; movaps        %xmm1,%xmm0
11973  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
11974  DB  255,224                             ; jmpq          *%rax
11975
11976PUBLIC _sk_load_a8_sse41
11977_sk_load_a8_sse41 LABEL PROC
11978  DB  72,173                              ; lods          %ds:(%rsi),%rax
11979  DB  72,139,0                            ; mov           (%rax),%rax
11980  DB  102,15,56,49,4,56                   ; pmovzxbd      (%rax,%rdi,1),%xmm0
11981  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
11982  DB  15,89,29,157,33,0,0                 ; mulps         0x219d(%rip),%xmm3        # 42c0 <_sk_callback_sse41+0x912>
11983  DB  72,173                              ; lods          %ds:(%rsi),%rax
11984  DB  15,87,192                           ; xorps         %xmm0,%xmm0
11985  DB  15,87,201                           ; xorps         %xmm1,%xmm1
11986  DB  15,87,210                           ; xorps         %xmm2,%xmm2
11987  DB  255,224                             ; jmpq          *%rax
11988
11989PUBLIC _sk_gather_a8_sse41
11990_sk_gather_a8_sse41 LABEL PROC
11991  DB  72,173                              ; lods          %ds:(%rsi),%rax
11992  DB  76,139,8                            ; mov           (%rax),%r9
11993  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
11994  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
11995  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
11996  DB  102,15,56,64,209                    ; pmulld        %xmm1,%xmm2
11997  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
11998  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
11999  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
12000  DB  65,137,192                          ; mov           %eax,%r8d
12001  DB  72,193,232,32                       ; shr           $0x20,%rax
12002  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
12003  DB  65,137,202                          ; mov           %ecx,%r10d
12004  DB  72,193,233,32                       ; shr           $0x20,%rcx
12005  DB  102,67,15,58,32,4,17,0              ; pinsrb        $0x0,(%r9,%r10,1),%xmm0
12006  DB  102,65,15,58,32,4,9,1               ; pinsrb        $0x1,(%r9,%rcx,1),%xmm0
12007  DB  67,15,182,12,1                      ; movzbl        (%r9,%r8,1),%ecx
12008  DB  102,15,58,32,193,2                  ; pinsrb        $0x2,%ecx,%xmm0
12009  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
12010  DB  102,15,58,32,192,3                  ; pinsrb        $0x3,%eax,%xmm0
12011  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
12012  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
12013  DB  15,89,29,49,33,0,0                  ; mulps         0x2131(%rip),%xmm3        # 42d0 <_sk_callback_sse41+0x922>
12014  DB  72,173                              ; lods          %ds:(%rsi),%rax
12015  DB  15,87,192                           ; xorps         %xmm0,%xmm0
12016  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
12017  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
12018  DB  255,224                             ; jmpq          *%rax
12019
12020PUBLIC _sk_store_a8_sse41
12021_sk_store_a8_sse41 LABEL PROC
12022  DB  72,173                              ; lods          %ds:(%rsi),%rax
12023  DB  72,139,0                            ; mov           (%rax),%rax
12024  DB  68,15,40,5,37,33,0,0                ; movaps        0x2125(%rip),%xmm8        # 42e0 <_sk_callback_sse41+0x932>
12025  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
12026  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
12027  DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
12028  DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
12029  DB  102,68,15,126,4,56                  ; movd          %xmm8,(%rax,%rdi,1)
12030  DB  72,173                              ; lods          %ds:(%rsi),%rax
12031  DB  255,224                             ; jmpq          *%rax
12032
12033PUBLIC _sk_load_g8_sse41
12034_sk_load_g8_sse41 LABEL PROC
12035  DB  72,173                              ; lods          %ds:(%rsi),%rax
12036  DB  72,139,0                            ; mov           (%rax),%rax
12037  DB  102,15,56,49,4,56                   ; pmovzxbd      (%rax,%rdi,1),%xmm0
12038  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12039  DB  15,89,5,2,33,0,0                    ; mulps         0x2102(%rip),%xmm0        # 42f0 <_sk_callback_sse41+0x942>
12040  DB  72,173                              ; lods          %ds:(%rsi),%rax
12041  DB  15,40,29,9,33,0,0                   ; movaps        0x2109(%rip),%xmm3        # 4300 <_sk_callback_sse41+0x952>
12042  DB  15,40,200                           ; movaps        %xmm0,%xmm1
12043  DB  15,40,208                           ; movaps        %xmm0,%xmm2
12044  DB  255,224                             ; jmpq          *%rax
12045
12046PUBLIC _sk_gather_g8_sse41
12047_sk_gather_g8_sse41 LABEL PROC
12048  DB  72,173                              ; lods          %ds:(%rsi),%rax
12049  DB  76,139,8                            ; mov           (%rax),%r9
12050  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
12051  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
12052  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
12053  DB  102,15,56,64,209                    ; pmulld        %xmm1,%xmm2
12054  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
12055  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
12056  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
12057  DB  65,137,192                          ; mov           %eax,%r8d
12058  DB  72,193,232,32                       ; shr           $0x20,%rax
12059  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
12060  DB  65,137,202                          ; mov           %ecx,%r10d
12061  DB  72,193,233,32                       ; shr           $0x20,%rcx
12062  DB  102,67,15,58,32,4,17,0              ; pinsrb        $0x0,(%r9,%r10,1),%xmm0
12063  DB  102,65,15,58,32,4,9,1               ; pinsrb        $0x1,(%r9,%rcx,1),%xmm0
12064  DB  67,15,182,12,1                      ; movzbl        (%r9,%r8,1),%ecx
12065  DB  102,15,58,32,193,2                  ; pinsrb        $0x2,%ecx,%xmm0
12066  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
12067  DB  102,15,58,32,192,3                  ; pinsrb        $0x3,%eax,%xmm0
12068  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
12069  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12070  DB  15,89,5,162,32,0,0                  ; mulps         0x20a2(%rip),%xmm0        # 4310 <_sk_callback_sse41+0x962>
12071  DB  72,173                              ; lods          %ds:(%rsi),%rax
12072  DB  15,40,29,169,32,0,0                 ; movaps        0x20a9(%rip),%xmm3        # 4320 <_sk_callback_sse41+0x972>
12073  DB  15,40,200                           ; movaps        %xmm0,%xmm1
12074  DB  15,40,208                           ; movaps        %xmm0,%xmm2
12075  DB  255,224                             ; jmpq          *%rax
12076
12077PUBLIC _sk_gather_i8_sse41
12078_sk_gather_i8_sse41 LABEL PROC
12079  DB  72,173                              ; lods          %ds:(%rsi),%rax
12080  DB  73,137,192                          ; mov           %rax,%r8
12081  DB  77,133,192                          ; test          %r8,%r8
12082  DB  116,5                               ; je            228e <_sk_gather_i8_sse41+0xf>
12083  DB  76,137,192                          ; mov           %r8,%rax
12084  DB  235,2                               ; jmp           2290 <_sk_gather_i8_sse41+0x11>
12085  DB  72,173                              ; lods          %ds:(%rsi),%rax
12086  DB  76,139,16                           ; mov           (%rax),%r10
12087  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
12088  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
12089  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
12090  DB  102,15,56,64,209                    ; pmulld        %xmm1,%xmm2
12091  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
12092  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
12093  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
12094  DB  65,137,193                          ; mov           %eax,%r9d
12095  DB  72,193,232,32                       ; shr           $0x20,%rax
12096  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
12097  DB  65,137,203                          ; mov           %ecx,%r11d
12098  DB  72,193,233,32                       ; shr           $0x20,%rcx
12099  DB  102,67,15,58,32,4,26,0              ; pinsrb        $0x0,(%r10,%r11,1),%xmm0
12100  DB  102,65,15,58,32,4,10,1              ; pinsrb        $0x1,(%r10,%rcx,1),%xmm0
12101  DB  102,67,15,58,32,4,10,2              ; pinsrb        $0x2,(%r10,%r9,1),%xmm0
12102  DB  102,65,15,58,32,4,2,3               ; pinsrb        $0x3,(%r10,%rax,1),%xmm0
12103  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
12104  DB  102,73,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%r9
12105  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
12106  DB  73,139,64,8                         ; mov           0x8(%r8),%rax
12107  DB  65,137,200                          ; mov           %ecx,%r8d
12108  DB  72,193,233,30                       ; shr           $0x1e,%rcx
12109  DB  69,137,202                          ; mov           %r9d,%r10d
12110  DB  73,193,233,30                       ; shr           $0x1e,%r9
12111  DB  102,66,15,110,28,128                ; movd          (%rax,%r8,4),%xmm3
12112  DB  102,15,58,34,28,8,1                 ; pinsrd        $0x1,(%rax,%rcx,1),%xmm3
12113  DB  102,66,15,58,34,28,144,2            ; pinsrd        $0x2,(%rax,%r10,4),%xmm3
12114  DB  102,66,15,58,34,28,8,3              ; pinsrd        $0x3,(%rax,%r9,1),%xmm3
12115  DB  102,15,111,5,0,32,0,0               ; movdqa        0x2000(%rip),%xmm0        # 4330 <_sk_callback_sse41+0x982>
12116  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
12117  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12118  DB  68,15,40,5,1,32,0,0                 ; movaps        0x2001(%rip),%xmm8        # 4340 <_sk_callback_sse41+0x992>
12119  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
12120  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
12121  DB  102,15,56,0,13,0,32,0,0             ; pshufb        0x2000(%rip),%xmm1        # 4350 <_sk_callback_sse41+0x9a2>
12122  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12123  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
12124  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
12125  DB  102,15,56,0,21,252,31,0,0           ; pshufb        0x1ffc(%rip),%xmm2        # 4360 <_sk_callback_sse41+0x9b2>
12126  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12127  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
12128  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
12129  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
12130  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
12131  DB  72,173                              ; lods          %ds:(%rsi),%rax
12132  DB  255,224                             ; jmpq          *%rax
12133
12134PUBLIC _sk_load_565_sse41
12135_sk_load_565_sse41 LABEL PROC
12136  DB  72,173                              ; lods          %ds:(%rsi),%rax
12137  DB  72,139,0                            ; mov           (%rax),%rax
12138  DB  102,15,56,51,20,120                 ; pmovzxwd      (%rax,%rdi,2),%xmm2
12139  DB  102,15,111,5,226,31,0,0             ; movdqa        0x1fe2(%rip),%xmm0        # 4370 <_sk_callback_sse41+0x9c2>
12140  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
12141  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12142  DB  15,89,5,228,31,0,0                  ; mulps         0x1fe4(%rip),%xmm0        # 4380 <_sk_callback_sse41+0x9d2>
12143  DB  102,15,111,13,236,31,0,0            ; movdqa        0x1fec(%rip),%xmm1        # 4390 <_sk_callback_sse41+0x9e2>
12144  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
12145  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12146  DB  15,89,13,238,31,0,0                 ; mulps         0x1fee(%rip),%xmm1        # 43a0 <_sk_callback_sse41+0x9f2>
12147  DB  102,15,219,21,246,31,0,0            ; pand          0x1ff6(%rip),%xmm2        # 43b0 <_sk_callback_sse41+0xa02>
12148  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12149  DB  15,89,21,252,31,0,0                 ; mulps         0x1ffc(%rip),%xmm2        # 43c0 <_sk_callback_sse41+0xa12>
12150  DB  72,173                              ; lods          %ds:(%rsi),%rax
12151  DB  15,40,29,3,32,0,0                   ; movaps        0x2003(%rip),%xmm3        # 43d0 <_sk_callback_sse41+0xa22>
12152  DB  255,224                             ; jmpq          *%rax
12153
12154PUBLIC _sk_gather_565_sse41
12155_sk_gather_565_sse41 LABEL PROC
12156  DB  72,173                              ; lods          %ds:(%rsi),%rax
12157  DB  76,139,8                            ; mov           (%rax),%r9
12158  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
12159  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
12160  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
12161  DB  102,15,56,64,209                    ; pmulld        %xmm1,%xmm2
12162  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
12163  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
12164  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
12165  DB  65,137,192                          ; mov           %eax,%r8d
12166  DB  72,193,232,32                       ; shr           $0x20,%rax
12167  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
12168  DB  65,137,202                          ; mov           %ecx,%r10d
12169  DB  72,193,233,32                       ; shr           $0x20,%rcx
12170  DB  102,67,15,196,4,81,0                ; pinsrw        $0x0,(%r9,%r10,2),%xmm0
12171  DB  102,65,15,196,4,73,1                ; pinsrw        $0x1,(%r9,%rcx,2),%xmm0
12172  DB  67,15,183,12,65                     ; movzwl        (%r9,%r8,2),%ecx
12173  DB  102,15,196,193,2                    ; pinsrw        $0x2,%ecx,%xmm0
12174  DB  65,15,183,4,65                      ; movzwl        (%r9,%rax,2),%eax
12175  DB  102,15,196,192,3                    ; pinsrw        $0x3,%eax,%xmm0
12176  DB  102,15,56,51,208                    ; pmovzxwd      %xmm0,%xmm2
12177  DB  102,15,111,5,168,31,0,0             ; movdqa        0x1fa8(%rip),%xmm0        # 43e0 <_sk_callback_sse41+0xa32>
12178  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
12179  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12180  DB  15,89,5,170,31,0,0                  ; mulps         0x1faa(%rip),%xmm0        # 43f0 <_sk_callback_sse41+0xa42>
12181  DB  102,15,111,13,178,31,0,0            ; movdqa        0x1fb2(%rip),%xmm1        # 4400 <_sk_callback_sse41+0xa52>
12182  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
12183  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12184  DB  15,89,13,180,31,0,0                 ; mulps         0x1fb4(%rip),%xmm1        # 4410 <_sk_callback_sse41+0xa62>
12185  DB  102,15,219,21,188,31,0,0            ; pand          0x1fbc(%rip),%xmm2        # 4420 <_sk_callback_sse41+0xa72>
12186  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12187  DB  15,89,21,194,31,0,0                 ; mulps         0x1fc2(%rip),%xmm2        # 4430 <_sk_callback_sse41+0xa82>
12188  DB  72,173                              ; lods          %ds:(%rsi),%rax
12189  DB  15,40,29,201,31,0,0                 ; movaps        0x1fc9(%rip),%xmm3        # 4440 <_sk_callback_sse41+0xa92>
12190  DB  255,224                             ; jmpq          *%rax
12191
12192PUBLIC _sk_store_565_sse41
12193_sk_store_565_sse41 LABEL PROC
12194  DB  72,173                              ; lods          %ds:(%rsi),%rax
12195  DB  72,139,0                            ; mov           (%rax),%rax
12196  DB  68,15,40,5,202,31,0,0               ; movaps        0x1fca(%rip),%xmm8        # 4450 <_sk_callback_sse41+0xaa2>
12197  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
12198  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
12199  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
12200  DB  102,65,15,114,241,11                ; pslld         $0xb,%xmm9
12201  DB  68,15,40,21,191,31,0,0              ; movaps        0x1fbf(%rip),%xmm10        # 4460 <_sk_callback_sse41+0xab2>
12202  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
12203  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
12204  DB  102,65,15,114,242,5                 ; pslld         $0x5,%xmm10
12205  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
12206  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
12207  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
12208  DB  102,69,15,86,194                    ; orpd          %xmm10,%xmm8
12209  DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
12210  DB  102,68,15,214,4,120                 ; movq          %xmm8,(%rax,%rdi,2)
12211  DB  72,173                              ; lods          %ds:(%rsi),%rax
12212  DB  255,224                             ; jmpq          *%rax
12213
12214PUBLIC _sk_load_4444_sse41
12215_sk_load_4444_sse41 LABEL PROC
12216  DB  72,173                              ; lods          %ds:(%rsi),%rax
12217  DB  72,139,0                            ; mov           (%rax),%rax
12218  DB  102,15,56,51,28,120                 ; pmovzxwd      (%rax,%rdi,2),%xmm3
12219  DB  102,15,111,5,138,31,0,0             ; movdqa        0x1f8a(%rip),%xmm0        # 4470 <_sk_callback_sse41+0xac2>
12220  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
12221  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12222  DB  15,89,5,140,31,0,0                  ; mulps         0x1f8c(%rip),%xmm0        # 4480 <_sk_callback_sse41+0xad2>
12223  DB  102,15,111,13,148,31,0,0            ; movdqa        0x1f94(%rip),%xmm1        # 4490 <_sk_callback_sse41+0xae2>
12224  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
12225  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12226  DB  15,89,13,150,31,0,0                 ; mulps         0x1f96(%rip),%xmm1        # 44a0 <_sk_callback_sse41+0xaf2>
12227  DB  102,15,111,21,158,31,0,0            ; movdqa        0x1f9e(%rip),%xmm2        # 44b0 <_sk_callback_sse41+0xb02>
12228  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
12229  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12230  DB  15,89,21,160,31,0,0                 ; mulps         0x1fa0(%rip),%xmm2        # 44c0 <_sk_callback_sse41+0xb12>
12231  DB  102,15,219,29,168,31,0,0            ; pand          0x1fa8(%rip),%xmm3        # 44d0 <_sk_callback_sse41+0xb22>
12232  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
12233  DB  15,89,29,174,31,0,0                 ; mulps         0x1fae(%rip),%xmm3        # 44e0 <_sk_callback_sse41+0xb32>
12234  DB  72,173                              ; lods          %ds:(%rsi),%rax
12235  DB  255,224                             ; jmpq          *%rax
12236
12237PUBLIC _sk_gather_4444_sse41
12238_sk_gather_4444_sse41 LABEL PROC
12239  DB  72,173                              ; lods          %ds:(%rsi),%rax
12240  DB  76,139,8                            ; mov           (%rax),%r9
12241  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
12242  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
12243  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
12244  DB  102,15,56,64,209                    ; pmulld        %xmm1,%xmm2
12245  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
12246  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
12247  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
12248  DB  65,137,192                          ; mov           %eax,%r8d
12249  DB  72,193,232,32                       ; shr           $0x20,%rax
12250  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
12251  DB  65,137,202                          ; mov           %ecx,%r10d
12252  DB  72,193,233,32                       ; shr           $0x20,%rcx
12253  DB  102,67,15,196,4,81,0                ; pinsrw        $0x0,(%r9,%r10,2),%xmm0
12254  DB  102,65,15,196,4,73,1                ; pinsrw        $0x1,(%r9,%rcx,2),%xmm0
12255  DB  67,15,183,12,65                     ; movzwl        (%r9,%r8,2),%ecx
12256  DB  102,15,196,193,2                    ; pinsrw        $0x2,%ecx,%xmm0
12257  DB  65,15,183,4,65                      ; movzwl        (%r9,%rax,2),%eax
12258  DB  102,15,196,192,3                    ; pinsrw        $0x3,%eax,%xmm0
12259  DB  102,15,56,51,216                    ; pmovzxwd      %xmm0,%xmm3
12260  DB  102,15,111,5,81,31,0,0              ; movdqa        0x1f51(%rip),%xmm0        # 44f0 <_sk_callback_sse41+0xb42>
12261  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
12262  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12263  DB  15,89,5,83,31,0,0                   ; mulps         0x1f53(%rip),%xmm0        # 4500 <_sk_callback_sse41+0xb52>
12264  DB  102,15,111,13,91,31,0,0             ; movdqa        0x1f5b(%rip),%xmm1        # 4510 <_sk_callback_sse41+0xb62>
12265  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
12266  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12267  DB  15,89,13,93,31,0,0                  ; mulps         0x1f5d(%rip),%xmm1        # 4520 <_sk_callback_sse41+0xb72>
12268  DB  102,15,111,21,101,31,0,0            ; movdqa        0x1f65(%rip),%xmm2        # 4530 <_sk_callback_sse41+0xb82>
12269  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
12270  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12271  DB  15,89,21,103,31,0,0                 ; mulps         0x1f67(%rip),%xmm2        # 4540 <_sk_callback_sse41+0xb92>
12272  DB  102,15,219,29,111,31,0,0            ; pand          0x1f6f(%rip),%xmm3        # 4550 <_sk_callback_sse41+0xba2>
12273  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
12274  DB  15,89,29,117,31,0,0                 ; mulps         0x1f75(%rip),%xmm3        # 4560 <_sk_callback_sse41+0xbb2>
12275  DB  72,173                              ; lods          %ds:(%rsi),%rax
12276  DB  255,224                             ; jmpq          *%rax
12277
12278PUBLIC _sk_store_4444_sse41
12279_sk_store_4444_sse41 LABEL PROC
12280  DB  72,173                              ; lods          %ds:(%rsi),%rax
12281  DB  72,139,0                            ; mov           (%rax),%rax
12282  DB  68,15,40,5,116,31,0,0               ; movaps        0x1f74(%rip),%xmm8        # 4570 <_sk_callback_sse41+0xbc2>
12283  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
12284  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
12285  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
12286  DB  102,65,15,114,241,12                ; pslld         $0xc,%xmm9
12287  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
12288  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
12289  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
12290  DB  102,65,15,114,242,8                 ; pslld         $0x8,%xmm10
12291  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
12292  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
12293  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
12294  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
12295  DB  102,65,15,114,241,4                 ; pslld         $0x4,%xmm9
12296  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
12297  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
12298  DB  102,69,15,86,193                    ; orpd          %xmm9,%xmm8
12299  DB  102,69,15,86,194                    ; orpd          %xmm10,%xmm8
12300  DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
12301  DB  102,68,15,214,4,120                 ; movq          %xmm8,(%rax,%rdi,2)
12302  DB  72,173                              ; lods          %ds:(%rsi),%rax
12303  DB  255,224                             ; jmpq          *%rax
12304
12305PUBLIC _sk_load_8888_sse41
12306_sk_load_8888_sse41 LABEL PROC
12307  DB  72,173                              ; lods          %ds:(%rsi),%rax
12308  DB  72,139,0                            ; mov           (%rax),%rax
12309  DB  15,16,28,184                        ; movups        (%rax,%rdi,4),%xmm3
12310  DB  15,40,5,19,31,0,0                   ; movaps        0x1f13(%rip),%xmm0        # 4580 <_sk_callback_sse41+0xbd2>
12311  DB  15,84,195                           ; andps         %xmm3,%xmm0
12312  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12313  DB  68,15,40,5,21,31,0,0                ; movaps        0x1f15(%rip),%xmm8        # 4590 <_sk_callback_sse41+0xbe2>
12314  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
12315  DB  15,40,203                           ; movaps        %xmm3,%xmm1
12316  DB  102,15,56,0,13,21,31,0,0            ; pshufb        0x1f15(%rip),%xmm1        # 45a0 <_sk_callback_sse41+0xbf2>
12317  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12318  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
12319  DB  15,40,211                           ; movaps        %xmm3,%xmm2
12320  DB  102,15,56,0,21,18,31,0,0            ; pshufb        0x1f12(%rip),%xmm2        # 45b0 <_sk_callback_sse41+0xc02>
12321  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12322  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
12323  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
12324  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
12325  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
12326  DB  72,173                              ; lods          %ds:(%rsi),%rax
12327  DB  255,224                             ; jmpq          *%rax
12328
12329PUBLIC _sk_gather_8888_sse41
12330_sk_gather_8888_sse41 LABEL PROC
12331  DB  72,173                              ; lods          %ds:(%rsi),%rax
12332  DB  76,139,8                            ; mov           (%rax),%r9
12333  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
12334  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
12335  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
12336  DB  102,15,56,64,209                    ; pmulld        %xmm1,%xmm2
12337  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
12338  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
12339  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
12340  DB  65,137,192                          ; mov           %eax,%r8d
12341  DB  72,193,232,32                       ; shr           $0x20,%rax
12342  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
12343  DB  65,137,202                          ; mov           %ecx,%r10d
12344  DB  72,193,233,32                       ; shr           $0x20,%rcx
12345  DB  102,67,15,110,28,129                ; movd          (%r9,%r8,4),%xmm3
12346  DB  102,65,15,58,34,28,129,1            ; pinsrd        $0x1,(%r9,%rax,4),%xmm3
12347  DB  102,67,15,58,34,28,145,2            ; pinsrd        $0x2,(%r9,%r10,4),%xmm3
12348  DB  102,65,15,58,34,28,137,3            ; pinsrd        $0x3,(%r9,%rcx,4),%xmm3
12349  DB  102,15,111,5,171,30,0,0             ; movdqa        0x1eab(%rip),%xmm0        # 45c0 <_sk_callback_sse41+0xc12>
12350  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
12351  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12352  DB  68,15,40,5,172,30,0,0               ; movaps        0x1eac(%rip),%xmm8        # 45d0 <_sk_callback_sse41+0xc22>
12353  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
12354  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
12355  DB  102,15,56,0,13,171,30,0,0           ; pshufb        0x1eab(%rip),%xmm1        # 45e0 <_sk_callback_sse41+0xc32>
12356  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12357  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
12358  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
12359  DB  102,15,56,0,21,167,30,0,0           ; pshufb        0x1ea7(%rip),%xmm2        # 45f0 <_sk_callback_sse41+0xc42>
12360  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12361  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
12362  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
12363  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
12364  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
12365  DB  72,173                              ; lods          %ds:(%rsi),%rax
12366  DB  255,224                             ; jmpq          *%rax
12367
12368PUBLIC _sk_store_8888_sse41
12369_sk_store_8888_sse41 LABEL PROC
12370  DB  72,173                              ; lods          %ds:(%rsi),%rax
12371  DB  72,139,0                            ; mov           (%rax),%rax
12372  DB  68,15,40,5,147,30,0,0               ; movaps        0x1e93(%rip),%xmm8        # 4600 <_sk_callback_sse41+0xc52>
12373  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
12374  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
12375  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
12376  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
12377  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
12378  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
12379  DB  102,65,15,114,242,8                 ; pslld         $0x8,%xmm10
12380  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
12381  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
12382  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
12383  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
12384  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
12385  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
12386  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
12387  DB  102,65,15,114,240,24                ; pslld         $0x18,%xmm8
12388  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
12389  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
12390  DB  243,68,15,127,4,184                 ; movdqu        %xmm8,(%rax,%rdi,4)
12391  DB  72,173                              ; lods          %ds:(%rsi),%rax
12392  DB  255,224                             ; jmpq          *%rax
12393
12394PUBLIC _sk_load_f16_sse41
12395_sk_load_f16_sse41 LABEL PROC
12396  DB  72,173                              ; lods          %ds:(%rsi),%rax
12397  DB  72,139,0                            ; mov           (%rax),%rax
12398  DB  243,15,111,4,248                    ; movdqu        (%rax,%rdi,8),%xmm0
12399  DB  243,15,111,76,248,16                ; movdqu        0x10(%rax,%rdi,8),%xmm1
12400  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
12401  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
12402  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
12403  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
12404  DB  102,68,15,97,216                    ; punpcklwd     %xmm0,%xmm11
12405  DB  102,68,15,105,200                   ; punpckhwd     %xmm0,%xmm9
12406  DB  102,65,15,56,51,203                 ; pmovzxwd      %xmm11,%xmm1
12407  DB  102,68,15,111,5,12,30,0,0           ; movdqa        0x1e0c(%rip),%xmm8        # 4610 <_sk_callback_sse41+0xc62>
12408  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
12409  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
12410  DB  102,15,239,202                      ; pxor          %xmm2,%xmm1
12411  DB  102,15,111,29,7,30,0,0              ; movdqa        0x1e07(%rip),%xmm3        # 4620 <_sk_callback_sse41+0xc72>
12412  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
12413  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
12414  DB  102,15,56,63,195                    ; pmaxud        %xmm3,%xmm0
12415  DB  102,15,118,193                      ; pcmpeqd       %xmm1,%xmm0
12416  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
12417  DB  102,15,235,202                      ; por           %xmm2,%xmm1
12418  DB  102,68,15,111,21,243,29,0,0         ; movdqa        0x1df3(%rip),%xmm10        # 4630 <_sk_callback_sse41+0xc82>
12419  DB  102,65,15,254,202                   ; paddd         %xmm10,%xmm1
12420  DB  102,15,219,193                      ; pand          %xmm1,%xmm0
12421  DB  102,65,15,115,219,8                 ; psrldq        $0x8,%xmm11
12422  DB  102,69,15,56,51,219                 ; pmovzxwd      %xmm11,%xmm11
12423  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
12424  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
12425  DB  102,68,15,239,218                   ; pxor          %xmm2,%xmm11
12426  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
12427  DB  102,65,15,111,203                   ; movdqa        %xmm11,%xmm1
12428  DB  102,15,56,63,203                    ; pmaxud        %xmm3,%xmm1
12429  DB  102,65,15,118,203                   ; pcmpeqd       %xmm11,%xmm1
12430  DB  102,65,15,114,243,13                ; pslld         $0xd,%xmm11
12431  DB  102,68,15,235,218                   ; por           %xmm2,%xmm11
12432  DB  102,69,15,254,218                   ; paddd         %xmm10,%xmm11
12433  DB  102,65,15,219,203                   ; pand          %xmm11,%xmm1
12434  DB  102,69,15,56,51,217                 ; pmovzxwd      %xmm9,%xmm11
12435  DB  102,69,15,111,227                   ; movdqa        %xmm11,%xmm12
12436  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
12437  DB  102,69,15,239,220                   ; pxor          %xmm12,%xmm11
12438  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
12439  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
12440  DB  102,15,56,63,211                    ; pmaxud        %xmm3,%xmm2
12441  DB  102,65,15,118,211                   ; pcmpeqd       %xmm11,%xmm2
12442  DB  102,65,15,114,243,13                ; pslld         $0xd,%xmm11
12443  DB  102,69,15,235,220                   ; por           %xmm12,%xmm11
12444  DB  102,69,15,254,218                   ; paddd         %xmm10,%xmm11
12445  DB  102,65,15,219,211                   ; pand          %xmm11,%xmm2
12446  DB  102,65,15,115,217,8                 ; psrldq        $0x8,%xmm9
12447  DB  102,69,15,56,51,201                 ; pmovzxwd      %xmm9,%xmm9
12448  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
12449  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
12450  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
12451  DB  102,65,15,56,63,217                 ; pmaxud        %xmm9,%xmm3
12452  DB  102,65,15,118,217                   ; pcmpeqd       %xmm9,%xmm3
12453  DB  102,65,15,114,241,13                ; pslld         $0xd,%xmm9
12454  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
12455  DB  102,69,15,254,202                   ; paddd         %xmm10,%xmm9
12456  DB  102,65,15,219,217                   ; pand          %xmm9,%xmm3
12457  DB  72,173                              ; lods          %ds:(%rsi),%rax
12458  DB  255,224                             ; jmpq          *%rax
12459
12460PUBLIC _sk_gather_f16_sse41
12461_sk_gather_f16_sse41 LABEL PROC
12462  DB  72,173                              ; lods          %ds:(%rsi),%rax
12463  DB  76,139,8                            ; mov           (%rax),%r9
12464  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
12465  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
12466  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
12467  DB  102,15,56,64,209                    ; pmulld        %xmm1,%xmm2
12468  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
12469  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
12470  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
12471  DB  65,137,192                          ; mov           %eax,%r8d
12472  DB  72,193,232,32                       ; shr           $0x20,%rax
12473  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
12474  DB  65,137,202                          ; mov           %ecx,%r10d
12475  DB  72,193,233,32                       ; shr           $0x20,%rcx
12476  DB  243,65,15,126,4,201                 ; movq          (%r9,%rcx,8),%xmm0
12477  DB  243,67,15,126,12,209                ; movq          (%r9,%r10,8),%xmm1
12478  DB  102,15,108,200                      ; punpcklqdq    %xmm0,%xmm1
12479  DB  243,65,15,126,4,193                 ; movq          (%r9,%rax,8),%xmm0
12480  DB  243,67,15,126,20,193                ; movq          (%r9,%r8,8),%xmm2
12481  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
12482  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
12483  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
12484  DB  102,15,105,209                      ; punpckhwd     %xmm1,%xmm2
12485  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
12486  DB  102,68,15,97,218                    ; punpcklwd     %xmm2,%xmm11
12487  DB  102,68,15,105,202                   ; punpckhwd     %xmm2,%xmm9
12488  DB  102,65,15,56,51,203                 ; pmovzxwd      %xmm11,%xmm1
12489  DB  102,68,15,111,5,177,28,0,0          ; movdqa        0x1cb1(%rip),%xmm8        # 4640 <_sk_callback_sse41+0xc92>
12490  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
12491  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
12492  DB  102,15,239,202                      ; pxor          %xmm2,%xmm1
12493  DB  102,15,111,29,172,28,0,0            ; movdqa        0x1cac(%rip),%xmm3        # 4650 <_sk_callback_sse41+0xca2>
12494  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
12495  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
12496  DB  102,15,56,63,195                    ; pmaxud        %xmm3,%xmm0
12497  DB  102,15,118,193                      ; pcmpeqd       %xmm1,%xmm0
12498  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
12499  DB  102,15,235,202                      ; por           %xmm2,%xmm1
12500  DB  102,68,15,111,21,152,28,0,0         ; movdqa        0x1c98(%rip),%xmm10        # 4660 <_sk_callback_sse41+0xcb2>
12501  DB  102,65,15,254,202                   ; paddd         %xmm10,%xmm1
12502  DB  102,15,219,193                      ; pand          %xmm1,%xmm0
12503  DB  102,65,15,115,219,8                 ; psrldq        $0x8,%xmm11
12504  DB  102,69,15,56,51,219                 ; pmovzxwd      %xmm11,%xmm11
12505  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
12506  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
12507  DB  102,68,15,239,218                   ; pxor          %xmm2,%xmm11
12508  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
12509  DB  102,65,15,111,203                   ; movdqa        %xmm11,%xmm1
12510  DB  102,15,56,63,203                    ; pmaxud        %xmm3,%xmm1
12511  DB  102,65,15,118,203                   ; pcmpeqd       %xmm11,%xmm1
12512  DB  102,65,15,114,243,13                ; pslld         $0xd,%xmm11
12513  DB  102,68,15,235,218                   ; por           %xmm2,%xmm11
12514  DB  102,69,15,254,218                   ; paddd         %xmm10,%xmm11
12515  DB  102,65,15,219,203                   ; pand          %xmm11,%xmm1
12516  DB  102,69,15,56,51,217                 ; pmovzxwd      %xmm9,%xmm11
12517  DB  102,69,15,111,227                   ; movdqa        %xmm11,%xmm12
12518  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
12519  DB  102,69,15,239,220                   ; pxor          %xmm12,%xmm11
12520  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
12521  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
12522  DB  102,15,56,63,211                    ; pmaxud        %xmm3,%xmm2
12523  DB  102,65,15,118,211                   ; pcmpeqd       %xmm11,%xmm2
12524  DB  102,65,15,114,243,13                ; pslld         $0xd,%xmm11
12525  DB  102,69,15,235,220                   ; por           %xmm12,%xmm11
12526  DB  102,69,15,254,218                   ; paddd         %xmm10,%xmm11
12527  DB  102,65,15,219,211                   ; pand          %xmm11,%xmm2
12528  DB  102,65,15,115,217,8                 ; psrldq        $0x8,%xmm9
12529  DB  102,69,15,56,51,201                 ; pmovzxwd      %xmm9,%xmm9
12530  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
12531  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
12532  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
12533  DB  102,65,15,56,63,217                 ; pmaxud        %xmm9,%xmm3
12534  DB  102,65,15,118,217                   ; pcmpeqd       %xmm9,%xmm3
12535  DB  102,65,15,114,241,13                ; pslld         $0xd,%xmm9
12536  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
12537  DB  102,69,15,254,202                   ; paddd         %xmm10,%xmm9
12538  DB  102,65,15,219,217                   ; pand          %xmm9,%xmm3
12539  DB  72,173                              ; lods          %ds:(%rsi),%rax
12540  DB  255,224                             ; jmpq          *%rax
12541
12542PUBLIC _sk_store_f16_sse41
12543_sk_store_f16_sse41 LABEL PROC
12544  DB  72,173                              ; lods          %ds:(%rsi),%rax
12545  DB  72,139,0                            ; mov           (%rax),%rax
12546  DB  102,68,15,111,21,206,27,0,0         ; movdqa        0x1bce(%rip),%xmm10        # 4670 <_sk_callback_sse41+0xcc2>
12547  DB  102,68,15,111,224                   ; movdqa        %xmm0,%xmm12
12548  DB  102,68,15,111,232                   ; movdqa        %xmm0,%xmm13
12549  DB  102,69,15,219,234                   ; pand          %xmm10,%xmm13
12550  DB  102,69,15,239,229                   ; pxor          %xmm13,%xmm12
12551  DB  102,68,15,111,13,193,27,0,0         ; movdqa        0x1bc1(%rip),%xmm9        # 4680 <_sk_callback_sse41+0xcd2>
12552  DB  102,65,15,114,213,16                ; psrld         $0x10,%xmm13
12553  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
12554  DB  102,69,15,102,196                   ; pcmpgtd       %xmm12,%xmm8
12555  DB  102,65,15,114,212,13                ; psrld         $0xd,%xmm12
12556  DB  102,68,15,111,29,178,27,0,0         ; movdqa        0x1bb2(%rip),%xmm11        # 4690 <_sk_callback_sse41+0xce2>
12557  DB  102,69,15,235,235                   ; por           %xmm11,%xmm13
12558  DB  102,69,15,254,236                   ; paddd         %xmm12,%xmm13
12559  DB  102,69,15,223,197                   ; pandn         %xmm13,%xmm8
12560  DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
12561  DB  102,68,15,111,233                   ; movdqa        %xmm1,%xmm13
12562  DB  102,68,15,111,241                   ; movdqa        %xmm1,%xmm14
12563  DB  102,69,15,219,242                   ; pand          %xmm10,%xmm14
12564  DB  102,69,15,239,238                   ; pxor          %xmm14,%xmm13
12565  DB  102,65,15,114,214,16                ; psrld         $0x10,%xmm14
12566  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
12567  DB  102,69,15,102,229                   ; pcmpgtd       %xmm13,%xmm12
12568  DB  102,65,15,114,213,13                ; psrld         $0xd,%xmm13
12569  DB  102,69,15,235,243                   ; por           %xmm11,%xmm14
12570  DB  102,69,15,254,245                   ; paddd         %xmm13,%xmm14
12571  DB  102,69,15,223,230                   ; pandn         %xmm14,%xmm12
12572  DB  102,69,15,56,43,228                 ; packusdw      %xmm12,%xmm12
12573  DB  102,68,15,111,242                   ; movdqa        %xmm2,%xmm14
12574  DB  102,68,15,111,250                   ; movdqa        %xmm2,%xmm15
12575  DB  102,69,15,219,250                   ; pand          %xmm10,%xmm15
12576  DB  102,69,15,239,247                   ; pxor          %xmm15,%xmm14
12577  DB  102,65,15,114,215,16                ; psrld         $0x10,%xmm15
12578  DB  102,69,15,111,233                   ; movdqa        %xmm9,%xmm13
12579  DB  102,69,15,102,238                   ; pcmpgtd       %xmm14,%xmm13
12580  DB  102,65,15,114,214,13                ; psrld         $0xd,%xmm14
12581  DB  102,69,15,235,251                   ; por           %xmm11,%xmm15
12582  DB  102,69,15,254,254                   ; paddd         %xmm14,%xmm15
12583  DB  102,69,15,223,239                   ; pandn         %xmm15,%xmm13
12584  DB  102,69,15,56,43,237                 ; packusdw      %xmm13,%xmm13
12585  DB  102,68,15,219,211                   ; pand          %xmm3,%xmm10
12586  DB  102,68,15,111,243                   ; movdqa        %xmm3,%xmm14
12587  DB  102,69,15,239,242                   ; pxor          %xmm10,%xmm14
12588  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
12589  DB  102,69,15,102,206                   ; pcmpgtd       %xmm14,%xmm9
12590  DB  102,65,15,114,214,13                ; psrld         $0xd,%xmm14
12591  DB  102,69,15,235,211                   ; por           %xmm11,%xmm10
12592  DB  102,69,15,254,214                   ; paddd         %xmm14,%xmm10
12593  DB  102,69,15,223,202                   ; pandn         %xmm10,%xmm9
12594  DB  102,69,15,56,43,201                 ; packusdw      %xmm9,%xmm9
12595  DB  102,69,15,97,196                    ; punpcklwd     %xmm12,%xmm8
12596  DB  102,69,15,97,233                    ; punpcklwd     %xmm9,%xmm13
12597  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
12598  DB  102,69,15,98,205                    ; punpckldq     %xmm13,%xmm9
12599  DB  243,68,15,127,12,248                ; movdqu        %xmm9,(%rax,%rdi,8)
12600  DB  102,69,15,106,197                   ; punpckhdq     %xmm13,%xmm8
12601  DB  243,68,15,127,68,248,16             ; movdqu        %xmm8,0x10(%rax,%rdi,8)
12602  DB  72,173                              ; lods          %ds:(%rsi),%rax
12603  DB  255,224                             ; jmpq          *%rax
12604
12605PUBLIC _sk_load_u16_be_sse41
12606_sk_load_u16_be_sse41 LABEL PROC
12607  DB  72,173                              ; lods          %ds:(%rsi),%rax
12608  DB  72,139,0                            ; mov           (%rax),%rax
12609  DB  243,15,111,4,248                    ; movdqu        (%rax,%rdi,8),%xmm0
12610  DB  243,15,111,76,248,16                ; movdqu        0x10(%rax,%rdi,8),%xmm1
12611  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
12612  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
12613  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
12614  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
12615  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
12616  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
12617  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
12618  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
12619  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
12620  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
12621  DB  102,15,235,200                      ; por           %xmm0,%xmm1
12622  DB  102,15,56,51,193                    ; pmovzxwd      %xmm1,%xmm0
12623  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12624  DB  68,15,40,5,129,26,0,0               ; movaps        0x1a81(%rip),%xmm8        # 46a0 <_sk_callback_sse41+0xcf2>
12625  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
12626  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
12627  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
12628  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
12629  DB  102,15,235,217                      ; por           %xmm1,%xmm3
12630  DB  102,15,56,51,203                    ; pmovzxwd      %xmm3,%xmm1
12631  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12632  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
12633  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
12634  DB  102,65,15,113,241,8                 ; psllw         $0x8,%xmm9
12635  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
12636  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
12637  DB  102,65,15,235,209                   ; por           %xmm9,%xmm2
12638  DB  102,15,56,51,210                    ; pmovzxwd      %xmm2,%xmm2
12639  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12640  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
12641  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
12642  DB  102,65,15,113,241,8                 ; psllw         $0x8,%xmm9
12643  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
12644  DB  102,65,15,235,217                   ; por           %xmm9,%xmm3
12645  DB  102,15,56,51,219                    ; pmovzxwd      %xmm3,%xmm3
12646  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
12647  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
12648  DB  72,173                              ; lods          %ds:(%rsi),%rax
12649  DB  255,224                             ; jmpq          *%rax
12650
12651PUBLIC _sk_load_rgb_u16_be_sse41
12652_sk_load_rgb_u16_be_sse41 LABEL PROC
12653  DB  72,173                              ; lods          %ds:(%rsi),%rax
12654  DB  72,139,0                            ; mov           (%rax),%rax
12655  DB  72,141,12,127                       ; lea           (%rdi,%rdi,2),%rcx
12656  DB  243,15,111,20,72                    ; movdqu        (%rax,%rcx,2),%xmm2
12657  DB  243,15,111,68,72,8                  ; movdqu        0x8(%rax,%rcx,2),%xmm0
12658  DB  102,15,115,216,4                    ; psrldq        $0x4,%xmm0
12659  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
12660  DB  102,15,115,217,6                    ; psrldq        $0x6,%xmm1
12661  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
12662  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
12663  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
12664  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
12665  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
12666  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
12667  DB  102,15,105,209                      ; punpckhwd     %xmm1,%xmm2
12668  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
12669  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
12670  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
12671  DB  102,15,235,193                      ; por           %xmm1,%xmm0
12672  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
12673  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
12674  DB  68,15,40,5,194,25,0,0               ; movaps        0x19c2(%rip),%xmm8        # 46b0 <_sk_callback_sse41+0xd02>
12675  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
12676  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
12677  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
12678  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
12679  DB  102,15,235,217                      ; por           %xmm1,%xmm3
12680  DB  102,15,56,51,203                    ; pmovzxwd      %xmm3,%xmm1
12681  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
12682  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
12683  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
12684  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
12685  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
12686  DB  102,15,235,211                      ; por           %xmm3,%xmm2
12687  DB  102,15,56,51,210                    ; pmovzxwd      %xmm2,%xmm2
12688  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
12689  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
12690  DB  72,173                              ; lods          %ds:(%rsi),%rax
12691  DB  15,40,29,137,25,0,0                 ; movaps        0x1989(%rip),%xmm3        # 46c0 <_sk_callback_sse41+0xd12>
12692  DB  255,224                             ; jmpq          *%rax
12693
12694PUBLIC _sk_store_u16_be_sse41
12695_sk_store_u16_be_sse41 LABEL PROC
12696  DB  72,173                              ; lods          %ds:(%rsi),%rax
12697  DB  72,139,0                            ; mov           (%rax),%rax
12698  DB  68,15,40,13,138,25,0,0              ; movaps        0x198a(%rip),%xmm9        # 46d0 <_sk_callback_sse41+0xd22>
12699  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
12700  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
12701  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
12702  DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
12703  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
12704  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
12705  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
12706  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
12707  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
12708  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
12709  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
12710  DB  102,69,15,56,43,210                 ; packusdw      %xmm10,%xmm10
12711  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
12712  DB  102,65,15,113,243,8                 ; psllw         $0x8,%xmm11
12713  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
12714  DB  102,69,15,235,211                   ; por           %xmm11,%xmm10
12715  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
12716  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
12717  DB  102,69,15,91,219                    ; cvtps2dq      %xmm11,%xmm11
12718  DB  102,69,15,56,43,219                 ; packusdw      %xmm11,%xmm11
12719  DB  102,69,15,111,227                   ; movdqa        %xmm11,%xmm12
12720  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
12721  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
12722  DB  102,69,15,235,220                   ; por           %xmm12,%xmm11
12723  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
12724  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
12725  DB  102,69,15,56,43,201                 ; packusdw      %xmm9,%xmm9
12726  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
12727  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
12728  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
12729  DB  102,69,15,235,204                   ; por           %xmm12,%xmm9
12730  DB  102,69,15,97,194                    ; punpcklwd     %xmm10,%xmm8
12731  DB  102,69,15,97,217                    ; punpcklwd     %xmm9,%xmm11
12732  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
12733  DB  102,69,15,98,203                    ; punpckldq     %xmm11,%xmm9
12734  DB  243,68,15,127,12,248                ; movdqu        %xmm9,(%rax,%rdi,8)
12735  DB  102,69,15,106,195                   ; punpckhdq     %xmm11,%xmm8
12736  DB  243,68,15,127,68,248,16             ; movdqu        %xmm8,0x10(%rax,%rdi,8)
12737  DB  72,173                              ; lods          %ds:(%rsi),%rax
12738  DB  255,224                             ; jmpq          *%rax
12739
12740PUBLIC _sk_load_f32_sse41
12741_sk_load_f32_sse41 LABEL PROC
12742  DB  72,173                              ; lods          %ds:(%rsi),%rax
12743  DB  72,139,0                            ; mov           (%rax),%rax
12744  DB  72,137,249                          ; mov           %rdi,%rcx
12745  DB  72,193,225,4                        ; shl           $0x4,%rcx
12746  DB  68,15,16,4,8                        ; movups        (%rax,%rcx,1),%xmm8
12747  DB  15,16,68,8,16                       ; movups        0x10(%rax,%rcx,1),%xmm0
12748  DB  15,16,92,8,32                       ; movups        0x20(%rax,%rcx,1),%xmm3
12749  DB  68,15,16,76,8,48                    ; movups        0x30(%rax,%rcx,1),%xmm9
12750  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
12751  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
12752  DB  15,40,203                           ; movaps        %xmm3,%xmm1
12753  DB  65,15,20,201                        ; unpcklps      %xmm9,%xmm1
12754  DB  68,15,21,192                        ; unpckhps      %xmm0,%xmm8
12755  DB  65,15,21,217                        ; unpckhps      %xmm9,%xmm3
12756  DB  15,40,194                           ; movaps        %xmm2,%xmm0
12757  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
12758  DB  15,18,202                           ; movhlps       %xmm2,%xmm1
12759  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
12760  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
12761  DB  65,15,18,216                        ; movhlps       %xmm8,%xmm3
12762  DB  72,173                              ; lods          %ds:(%rsi),%rax
12763  DB  255,224                             ; jmpq          *%rax
12764
12765PUBLIC _sk_store_f32_sse41
12766_sk_store_f32_sse41 LABEL PROC
12767  DB  72,173                              ; lods          %ds:(%rsi),%rax
12768  DB  72,139,0                            ; mov           (%rax),%rax
12769  DB  72,137,249                          ; mov           %rdi,%rcx
12770  DB  72,193,225,4                        ; shl           $0x4,%rcx
12771  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
12772  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
12773  DB  68,15,20,201                        ; unpcklps      %xmm1,%xmm9
12774  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
12775  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
12776  DB  68,15,20,219                        ; unpcklps      %xmm3,%xmm11
12777  DB  68,15,21,193                        ; unpckhps      %xmm1,%xmm8
12778  DB  68,15,21,211                        ; unpckhps      %xmm3,%xmm10
12779  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
12780  DB  102,69,15,20,227                    ; unpcklpd      %xmm11,%xmm12
12781  DB  69,15,18,217                        ; movhlps       %xmm9,%xmm11
12782  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
12783  DB  102,69,15,20,202                    ; unpcklpd      %xmm10,%xmm9
12784  DB  69,15,18,208                        ; movhlps       %xmm8,%xmm10
12785  DB  102,68,15,17,36,8                   ; movupd        %xmm12,(%rax,%rcx,1)
12786  DB  68,15,17,92,8,16                    ; movups        %xmm11,0x10(%rax,%rcx,1)
12787  DB  102,68,15,17,76,8,32                ; movupd        %xmm9,0x20(%rax,%rcx,1)
12788  DB  68,15,17,84,8,48                    ; movups        %xmm10,0x30(%rax,%rcx,1)
12789  DB  72,173                              ; lods          %ds:(%rsi),%rax
12790  DB  255,224                             ; jmpq          *%rax
12791
12792PUBLIC _sk_clamp_x_sse41
12793_sk_clamp_x_sse41 LABEL PROC
12794  DB  72,173                              ; lods          %ds:(%rsi),%rax
12795  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
12796  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
12797  DB  243,68,15,16,8                      ; movss         (%rax),%xmm9
12798  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
12799  DB  102,15,118,192                      ; pcmpeqd       %xmm0,%xmm0
12800  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
12801  DB  68,15,93,192                        ; minps         %xmm0,%xmm8
12802  DB  72,173                              ; lods          %ds:(%rsi),%rax
12803  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
12804  DB  255,224                             ; jmpq          *%rax
12805
12806PUBLIC _sk_clamp_y_sse41
12807_sk_clamp_y_sse41 LABEL PROC
12808  DB  72,173                              ; lods          %ds:(%rsi),%rax
12809  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
12810  DB  68,15,95,193                        ; maxps         %xmm1,%xmm8
12811  DB  243,68,15,16,8                      ; movss         (%rax),%xmm9
12812  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
12813  DB  102,15,118,201                      ; pcmpeqd       %xmm1,%xmm1
12814  DB  102,65,15,254,201                   ; paddd         %xmm9,%xmm1
12815  DB  68,15,93,193                        ; minps         %xmm1,%xmm8
12816  DB  72,173                              ; lods          %ds:(%rsi),%rax
12817  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
12818  DB  255,224                             ; jmpq          *%rax
12819
12820PUBLIC _sk_repeat_x_sse41
12821_sk_repeat_x_sse41 LABEL PROC
12822  DB  72,173                              ; lods          %ds:(%rsi),%rax
12823  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
12824  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
12825  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
12826  DB  69,15,94,200                        ; divps         %xmm8,%xmm9
12827  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
12828  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
12829  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
12830  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
12831  DB  102,69,15,254,200                   ; paddd         %xmm8,%xmm9
12832  DB  65,15,93,193                        ; minps         %xmm9,%xmm0
12833  DB  72,173                              ; lods          %ds:(%rsi),%rax
12834  DB  255,224                             ; jmpq          *%rax
12835
12836PUBLIC _sk_repeat_y_sse41
12837_sk_repeat_y_sse41 LABEL PROC
12838  DB  72,173                              ; lods          %ds:(%rsi),%rax
12839  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
12840  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
12841  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
12842  DB  69,15,94,200                        ; divps         %xmm8,%xmm9
12843  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
12844  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
12845  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
12846  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
12847  DB  102,69,15,254,200                   ; paddd         %xmm8,%xmm9
12848  DB  65,15,93,201                        ; minps         %xmm9,%xmm1
12849  DB  72,173                              ; lods          %ds:(%rsi),%rax
12850  DB  255,224                             ; jmpq          *%rax
12851
12852PUBLIC _sk_mirror_x_sse41
12853_sk_mirror_x_sse41 LABEL PROC
12854  DB  72,173                              ; lods          %ds:(%rsi),%rax
12855  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
12856  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
12857  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
12858  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
12859  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
12860  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
12861  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
12862  DB  69,15,94,208                        ; divps         %xmm8,%xmm10
12863  DB  102,69,15,58,8,210,1                ; roundps       $0x1,%xmm10,%xmm10
12864  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
12865  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
12866  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
12867  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
12868  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
12869  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
12870  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
12871  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
12872  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
12873  DB  72,173                              ; lods          %ds:(%rsi),%rax
12874  DB  255,224                             ; jmpq          *%rax
12875
12876PUBLIC _sk_mirror_y_sse41
12877_sk_mirror_y_sse41 LABEL PROC
12878  DB  72,173                              ; lods          %ds:(%rsi),%rax
12879  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
12880  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
12881  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
12882  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
12883  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
12884  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
12885  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
12886  DB  69,15,94,208                        ; divps         %xmm8,%xmm10
12887  DB  102,69,15,58,8,210,1                ; roundps       $0x1,%xmm10,%xmm10
12888  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
12889  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
12890  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
12891  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
12892  DB  68,15,92,193                        ; subps         %xmm1,%xmm8
12893  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
12894  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
12895  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
12896  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
12897  DB  72,173                              ; lods          %ds:(%rsi),%rax
12898  DB  255,224                             ; jmpq          *%rax
12899
12900PUBLIC _sk_luminance_to_alpha_sse41
12901_sk_luminance_to_alpha_sse41 LABEL PROC
12902  DB  15,40,218                           ; movaps        %xmm2,%xmm3
12903  DB  15,89,5,168,22,0,0                  ; mulps         0x16a8(%rip),%xmm0        # 46e0 <_sk_callback_sse41+0xd32>
12904  DB  15,89,13,177,22,0,0                 ; mulps         0x16b1(%rip),%xmm1        # 46f0 <_sk_callback_sse41+0xd42>
12905  DB  15,88,200                           ; addps         %xmm0,%xmm1
12906  DB  15,89,29,183,22,0,0                 ; mulps         0x16b7(%rip),%xmm3        # 4700 <_sk_callback_sse41+0xd52>
12907  DB  15,88,217                           ; addps         %xmm1,%xmm3
12908  DB  72,173                              ; lods          %ds:(%rsi),%rax
12909  DB  15,87,192                           ; xorps         %xmm0,%xmm0
12910  DB  15,87,201                           ; xorps         %xmm1,%xmm1
12911  DB  15,87,210                           ; xorps         %xmm2,%xmm2
12912  DB  255,224                             ; jmpq          *%rax
12913
12914PUBLIC _sk_matrix_2x3_sse41
12915_sk_matrix_2x3_sse41 LABEL PROC
12916  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
12917  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
12918  DB  72,173                              ; lods          %ds:(%rsi),%rax
12919  DB  243,15,16,0                         ; movss         (%rax),%xmm0
12920  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
12921  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
12922  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
12923  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
12924  DB  243,68,15,16,88,16                  ; movss         0x10(%rax),%xmm11
12925  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
12926  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
12927  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
12928  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
12929  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
12930  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
12931  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
12932  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
12933  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
12934  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
12935  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
12936  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
12937  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
12938  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
12939  DB  72,173                              ; lods          %ds:(%rsi),%rax
12940  DB  255,224                             ; jmpq          *%rax
12941
12942PUBLIC _sk_matrix_3x4_sse41
12943_sk_matrix_3x4_sse41 LABEL PROC
12944  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
12945  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
12946  DB  72,173                              ; lods          %ds:(%rsi),%rax
12947  DB  243,15,16,0                         ; movss         (%rax),%xmm0
12948  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
12949  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
12950  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
12951  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
12952  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
12953  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
12954  DB  243,68,15,16,96,36                  ; movss         0x24(%rax),%xmm12
12955  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
12956  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
12957  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
12958  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
12959  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
12960  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
12961  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
12962  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
12963  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
12964  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
12965  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
12966  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
12967  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
12968  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
12969  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
12970  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
12971  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
12972  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
12973  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
12974  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
12975  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
12976  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
12977  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
12978  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
12979  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
12980  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
12981  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
12982  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
12983  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
12984  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
12985  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
12986  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
12987  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
12988  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
12989  DB  72,173                              ; lods          %ds:(%rsi),%rax
12990  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
12991  DB  255,224                             ; jmpq          *%rax
12992
12993PUBLIC _sk_matrix_4x5_sse41
12994_sk_matrix_4x5_sse41 LABEL PROC
12995  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
12996  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
12997  DB  72,173                              ; lods          %ds:(%rsi),%rax
12998  DB  243,15,16,0                         ; movss         (%rax),%xmm0
12999  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
13000  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
13001  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
13002  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13003  DB  243,68,15,16,88,32                  ; movss         0x20(%rax),%xmm11
13004  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13005  DB  243,68,15,16,96,48                  ; movss         0x30(%rax),%xmm12
13006  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
13007  DB  243,68,15,16,104,64                 ; movss         0x40(%rax),%xmm13
13008  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
13009  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
13010  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
13011  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
13012  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
13013  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13014  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
13015  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
13016  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
13017  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
13018  DB  243,68,15,16,80,20                  ; movss         0x14(%rax),%xmm10
13019  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13020  DB  243,68,15,16,88,36                  ; movss         0x24(%rax),%xmm11
13021  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13022  DB  243,68,15,16,96,52                  ; movss         0x34(%rax),%xmm12
13023  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
13024  DB  243,68,15,16,104,68                 ; movss         0x44(%rax),%xmm13
13025  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
13026  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
13027  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
13028  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
13029  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
13030  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13031  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
13032  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
13033  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
13034  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
13035  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13036  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
13037  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13038  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
13039  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
13040  DB  243,68,15,16,104,56                 ; movss         0x38(%rax),%xmm13
13041  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
13042  DB  243,68,15,16,112,72                 ; movss         0x48(%rax),%xmm14
13043  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
13044  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
13045  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
13046  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
13047  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
13048  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
13049  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
13050  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
13051  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
13052  DB  243,68,15,16,88,12                  ; movss         0xc(%rax),%xmm11
13053  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13054  DB  243,68,15,16,96,28                  ; movss         0x1c(%rax),%xmm12
13055  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
13056  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
13057  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
13058  DB  243,68,15,16,112,60                 ; movss         0x3c(%rax),%xmm14
13059  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
13060  DB  243,68,15,16,120,76                 ; movss         0x4c(%rax),%xmm15
13061  DB  69,15,198,255,0                     ; shufps        $0x0,%xmm15,%xmm15
13062  DB  68,15,89,243                        ; mulps         %xmm3,%xmm14
13063  DB  69,15,88,247                        ; addps         %xmm15,%xmm14
13064  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
13065  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
13066  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
13067  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
13068  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
13069  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
13070  DB  72,173                              ; lods          %ds:(%rsi),%rax
13071  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
13072  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
13073  DB  255,224                             ; jmpq          *%rax
13074
13075PUBLIC _sk_matrix_perspective_sse41
13076_sk_matrix_perspective_sse41 LABEL PROC
13077  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
13078  DB  72,173                              ; lods          %ds:(%rsi),%rax
13079  DB  243,15,16,0                         ; movss         (%rax),%xmm0
13080  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
13081  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
13082  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
13083  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
13084  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13085  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
13086  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
13087  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
13088  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
13089  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
13090  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
13091  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
13092  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13093  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
13094  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13095  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
13096  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
13097  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
13098  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
13099  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
13100  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13101  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
13102  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13103  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
13104  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
13105  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
13106  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
13107  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
13108  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
13109  DB  65,15,83,202                        ; rcpps         %xmm10,%xmm1
13110  DB  15,89,193                           ; mulps         %xmm1,%xmm0
13111  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
13112  DB  72,173                              ; lods          %ds:(%rsi),%rax
13113  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
13114  DB  255,224                             ; jmpq          *%rax
13115
13116PUBLIC _sk_linear_gradient_sse41
13117_sk_linear_gradient_sse41 LABEL PROC
13118  DB  72,173                              ; lods          %ds:(%rsi),%rax
13119  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
13120  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13121  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
13122  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13123  DB  243,68,15,16,96,24                  ; movss         0x18(%rax),%xmm12
13124  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
13125  DB  243,68,15,16,104,28                 ; movss         0x1c(%rax),%xmm13
13126  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
13127  DB  72,139,8                            ; mov           (%rax),%rcx
13128  DB  72,133,201                          ; test          %rcx,%rcx
13129  DB  15,132,4,1,0,0                      ; je            34f1 <_sk_linear_gradient_sse41+0x13e>
13130  DB  72,131,236,88                       ; sub           $0x58,%rsp
13131  DB  15,41,36,36                         ; movaps        %xmm4,(%rsp)
13132  DB  15,41,108,36,16                     ; movaps        %xmm5,0x10(%rsp)
13133  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
13134  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%rsp)
13135  DB  72,139,64,8                         ; mov           0x8(%rax),%rax
13136  DB  72,131,192,32                       ; add           $0x20,%rax
13137  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
13138  DB  15,87,219                           ; xorps         %xmm3,%xmm3
13139  DB  15,87,210                           ; xorps         %xmm2,%xmm2
13140  DB  15,87,201                           ; xorps         %xmm1,%xmm1
13141  DB  15,40,233                           ; movaps        %xmm1,%xmm5
13142  DB  15,40,242                           ; movaps        %xmm2,%xmm6
13143  DB  15,40,251                           ; movaps        %xmm3,%xmm7
13144  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
13145  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
13146  DB  69,15,40,252                        ; movaps        %xmm12,%xmm15
13147  DB  68,15,41,108,36,64                  ; movaps        %xmm13,0x40(%rsp)
13148  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
13149  DB  243,15,16,80,224                    ; movss         -0x20(%rax),%xmm2
13150  DB  243,68,15,16,72,228                 ; movss         -0x1c(%rax),%xmm9
13151  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
13152  DB  15,40,224                           ; movaps        %xmm0,%xmm4
13153  DB  15,194,194,1                        ; cmpltps       %xmm2,%xmm0
13154  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
13155  DB  102,68,15,56,20,201                 ; blendvps      %xmm0,%xmm1,%xmm9
13156  DB  243,15,16,72,232                    ; movss         -0x18(%rax),%xmm1
13157  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
13158  DB  102,15,56,20,205                    ; blendvps      %xmm0,%xmm5,%xmm1
13159  DB  243,15,16,80,236                    ; movss         -0x14(%rax),%xmm2
13160  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
13161  DB  102,15,56,20,214                    ; blendvps      %xmm0,%xmm6,%xmm2
13162  DB  243,15,16,88,240                    ; movss         -0x10(%rax),%xmm3
13163  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
13164  DB  102,15,56,20,223                    ; blendvps      %xmm0,%xmm7,%xmm3
13165  DB  243,68,15,16,80,244                 ; movss         -0xc(%rax),%xmm10
13166  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
13167  DB  102,69,15,56,20,208                 ; blendvps      %xmm0,%xmm8,%xmm10
13168  DB  243,68,15,16,88,248                 ; movss         -0x8(%rax),%xmm11
13169  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
13170  DB  102,69,15,56,20,222                 ; blendvps      %xmm0,%xmm14,%xmm11
13171  DB  243,68,15,16,96,252                 ; movss         -0x4(%rax),%xmm12
13172  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
13173  DB  102,69,15,56,20,231                 ; blendvps      %xmm0,%xmm15,%xmm12
13174  DB  243,68,15,16,40                     ; movss         (%rax),%xmm13
13175  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
13176  DB  102,68,15,56,20,108,36,64           ; blendvps      %xmm0,0x40(%rsp),%xmm13
13177  DB  15,40,196                           ; movaps        %xmm4,%xmm0
13178  DB  72,131,192,36                       ; add           $0x24,%rax
13179  DB  72,255,201                          ; dec           %rcx
13180  DB  15,133,65,255,255,255               ; jne           3419 <_sk_linear_gradient_sse41+0x66>
13181  DB  15,40,124,36,48                     ; movaps        0x30(%rsp),%xmm7
13182  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
13183  DB  15,40,108,36,16                     ; movaps        0x10(%rsp),%xmm5
13184  DB  15,40,36,36                         ; movaps        (%rsp),%xmm4
13185  DB  72,131,196,88                       ; add           $0x58,%rsp
13186  DB  235,13                              ; jmp           34fe <_sk_linear_gradient_sse41+0x14b>
13187  DB  15,87,201                           ; xorps         %xmm1,%xmm1
13188  DB  15,87,210                           ; xorps         %xmm2,%xmm2
13189  DB  15,87,219                           ; xorps         %xmm3,%xmm3
13190  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
13191  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
13192  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
13193  DB  15,89,200                           ; mulps         %xmm0,%xmm1
13194  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
13195  DB  15,89,208                           ; mulps         %xmm0,%xmm2
13196  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
13197  DB  15,89,216                           ; mulps         %xmm0,%xmm3
13198  DB  65,15,88,221                        ; addps         %xmm13,%xmm3
13199  DB  72,173                              ; lods          %ds:(%rsi),%rax
13200  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
13201  DB  255,224                             ; jmpq          *%rax
13202
13203PUBLIC _sk_linear_gradient_2stops_sse41
13204_sk_linear_gradient_2stops_sse41 LABEL PROC
13205  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
13206  DB  72,173                              ; lods          %ds:(%rsi),%rax
13207  DB  243,15,16,0                         ; movss         (%rax),%xmm0
13208  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
13209  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
13210  DB  243,15,16,80,16                     ; movss         0x10(%rax),%xmm2
13211  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
13212  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
13213  DB  15,88,194                           ; addps         %xmm2,%xmm0
13214  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
13215  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
13216  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
13217  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
13218  DB  15,88,202                           ; addps         %xmm2,%xmm1
13219  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
13220  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
13221  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
13222  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
13223  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
13224  DB  15,88,211                           ; addps         %xmm3,%xmm2
13225  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
13226  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
13227  DB  243,68,15,16,72,28                  ; movss         0x1c(%rax),%xmm9
13228  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
13229  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
13230  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
13231  DB  72,173                              ; lods          %ds:(%rsi),%rax
13232  DB  255,224                             ; jmpq          *%rax
13233
13234PUBLIC _sk_xy_to_polar_unit_sse41
13235_sk_xy_to_polar_unit_sse41 LABEL PROC
13236  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
13237  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
13238  DB  15,87,192                           ; xorps         %xmm0,%xmm0
13239  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
13240  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
13241  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
13242  DB  68,15,92,217                        ; subps         %xmm1,%xmm11
13243  DB  68,15,84,217                        ; andps         %xmm1,%xmm11
13244  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
13245  DB  69,15,93,227                        ; minps         %xmm11,%xmm12
13246  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
13247  DB  69,15,95,211                        ; maxps         %xmm11,%xmm10
13248  DB  69,15,94,226                        ; divps         %xmm10,%xmm12
13249  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
13250  DB  69,15,89,237                        ; mulps         %xmm13,%xmm13
13251  DB  68,15,40,21,58,17,0,0               ; movaps        0x113a(%rip),%xmm10        # 4710 <_sk_callback_sse41+0xd62>
13252  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
13253  DB  68,15,88,21,62,17,0,0               ; addps         0x113e(%rip),%xmm10        # 4720 <_sk_callback_sse41+0xd72>
13254  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
13255  DB  68,15,88,21,66,17,0,0               ; addps         0x1142(%rip),%xmm10        # 4730 <_sk_callback_sse41+0xd82>
13256  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
13257  DB  68,15,88,21,70,17,0,0               ; addps         0x1146(%rip),%xmm10        # 4740 <_sk_callback_sse41+0xd92>
13258  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
13259  DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
13260  DB  68,15,40,29,69,17,0,0               ; movaps        0x1145(%rip),%xmm11        # 4750 <_sk_callback_sse41+0xda2>
13261  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
13262  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
13263  DB  69,15,194,200,1                     ; cmpltps       %xmm8,%xmm9
13264  DB  68,15,40,29,62,17,0,0               ; movaps        0x113e(%rip),%xmm11        # 4760 <_sk_callback_sse41+0xdb2>
13265  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
13266  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
13267  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
13268  DB  15,40,193                           ; movaps        %xmm1,%xmm0
13269  DB  65,15,194,192,1                     ; cmpltps       %xmm8,%xmm0
13270  DB  68,15,40,13,48,17,0,0               ; movaps        0x1130(%rip),%xmm9        # 4770 <_sk_callback_sse41+0xdc2>
13271  DB  69,15,92,202                        ; subps         %xmm10,%xmm9
13272  DB  102,69,15,56,20,209                 ; blendvps      %xmm0,%xmm9,%xmm10
13273  DB  69,15,194,194,7                     ; cmpordps      %xmm10,%xmm8
13274  DB  69,15,84,194                        ; andps         %xmm10,%xmm8
13275  DB  72,173                              ; lods          %ds:(%rsi),%rax
13276  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
13277  DB  255,224                             ; jmpq          *%rax
13278
13279PUBLIC _sk_save_xy_sse41
13280_sk_save_xy_sse41 LABEL PROC
13281  DB  72,173                              ; lods          %ds:(%rsi),%rax
13282  DB  68,15,40,5,27,17,0,0                ; movaps        0x111b(%rip),%xmm8        # 4780 <_sk_callback_sse41+0xdd2>
13283  DB  15,17,0                             ; movups        %xmm0,(%rax)
13284  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
13285  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
13286  DB  102,69,15,58,8,209,1                ; roundps       $0x1,%xmm9,%xmm10
13287  DB  69,15,92,202                        ; subps         %xmm10,%xmm9
13288  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
13289  DB  102,69,15,58,8,208,1                ; roundps       $0x1,%xmm8,%xmm10
13290  DB  69,15,92,194                        ; subps         %xmm10,%xmm8
13291  DB  15,17,72,32                         ; movups        %xmm1,0x20(%rax)
13292  DB  68,15,17,72,64                      ; movups        %xmm9,0x40(%rax)
13293  DB  68,15,17,64,96                      ; movups        %xmm8,0x60(%rax)
13294  DB  72,173                              ; lods          %ds:(%rsi),%rax
13295  DB  255,224                             ; jmpq          *%rax
13296
13297PUBLIC _sk_accumulate_sse41
13298_sk_accumulate_sse41 LABEL PROC
13299  DB  72,173                              ; lods          %ds:(%rsi),%rax
13300  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
13301  DB  68,15,16,136,160,0,0,0              ; movups        0xa0(%rax),%xmm9
13302  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
13303  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
13304  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
13305  DB  65,15,88,224                        ; addps         %xmm8,%xmm4
13306  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
13307  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
13308  DB  65,15,88,232                        ; addps         %xmm8,%xmm5
13309  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
13310  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
13311  DB  65,15,88,240                        ; addps         %xmm8,%xmm6
13312  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
13313  DB  65,15,88,249                        ; addps         %xmm9,%xmm7
13314  DB  72,173                              ; lods          %ds:(%rsi),%rax
13315  DB  255,224                             ; jmpq          *%rax
13316
13317PUBLIC _sk_bilinear_nx_sse41
13318_sk_bilinear_nx_sse41 LABEL PROC
13319  DB  72,173                              ; lods          %ds:(%rsi),%rax
13320  DB  15,16,0                             ; movups        (%rax),%xmm0
13321  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
13322  DB  15,88,5,157,16,0,0                  ; addps         0x109d(%rip),%xmm0        # 4790 <_sk_callback_sse41+0xde2>
13323  DB  68,15,40,13,165,16,0,0              ; movaps        0x10a5(%rip),%xmm9        # 47a0 <_sk_callback_sse41+0xdf2>
13324  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
13325  DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
13326  DB  72,173                              ; lods          %ds:(%rsi),%rax
13327  DB  255,224                             ; jmpq          *%rax
13328
13329PUBLIC _sk_bilinear_px_sse41
13330_sk_bilinear_px_sse41 LABEL PROC
13331  DB  72,173                              ; lods          %ds:(%rsi),%rax
13332  DB  15,16,0                             ; movups        (%rax),%xmm0
13333  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
13334  DB  15,88,5,148,16,0,0                  ; addps         0x1094(%rip),%xmm0        # 47b0 <_sk_callback_sse41+0xe02>
13335  DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
13336  DB  72,173                              ; lods          %ds:(%rsi),%rax
13337  DB  255,224                             ; jmpq          *%rax
13338
13339PUBLIC _sk_bilinear_ny_sse41
13340_sk_bilinear_ny_sse41 LABEL PROC
13341  DB  72,173                              ; lods          %ds:(%rsi),%rax
13342  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
13343  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
13344  DB  15,88,13,134,16,0,0                 ; addps         0x1086(%rip),%xmm1        # 47c0 <_sk_callback_sse41+0xe12>
13345  DB  68,15,40,13,142,16,0,0              ; movaps        0x108e(%rip),%xmm9        # 47d0 <_sk_callback_sse41+0xe22>
13346  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
13347  DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
13348  DB  72,173                              ; lods          %ds:(%rsi),%rax
13349  DB  255,224                             ; jmpq          *%rax
13350
13351PUBLIC _sk_bilinear_py_sse41
13352_sk_bilinear_py_sse41 LABEL PROC
13353  DB  72,173                              ; lods          %ds:(%rsi),%rax
13354  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
13355  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
13356  DB  15,88,13,124,16,0,0                 ; addps         0x107c(%rip),%xmm1        # 47e0 <_sk_callback_sse41+0xe32>
13357  DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
13358  DB  72,173                              ; lods          %ds:(%rsi),%rax
13359  DB  255,224                             ; jmpq          *%rax
13360
13361PUBLIC _sk_bicubic_n3x_sse41
13362_sk_bicubic_n3x_sse41 LABEL PROC
13363  DB  72,173                              ; lods          %ds:(%rsi),%rax
13364  DB  15,16,0                             ; movups        (%rax),%xmm0
13365  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
13366  DB  15,88,5,111,16,0,0                  ; addps         0x106f(%rip),%xmm0        # 47f0 <_sk_callback_sse41+0xe42>
13367  DB  68,15,40,13,119,16,0,0              ; movaps        0x1077(%rip),%xmm9        # 4800 <_sk_callback_sse41+0xe52>
13368  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
13369  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
13370  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
13371  DB  68,15,89,13,115,16,0,0              ; mulps         0x1073(%rip),%xmm9        # 4810 <_sk_callback_sse41+0xe62>
13372  DB  68,15,88,13,123,16,0,0              ; addps         0x107b(%rip),%xmm9        # 4820 <_sk_callback_sse41+0xe72>
13373  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
13374  DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
13375  DB  72,173                              ; lods          %ds:(%rsi),%rax
13376  DB  255,224                             ; jmpq          *%rax
13377
13378PUBLIC _sk_bicubic_n1x_sse41
13379_sk_bicubic_n1x_sse41 LABEL PROC
13380  DB  72,173                              ; lods          %ds:(%rsi),%rax
13381  DB  15,16,0                             ; movups        (%rax),%xmm0
13382  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
13383  DB  15,88,5,106,16,0,0                  ; addps         0x106a(%rip),%xmm0        # 4830 <_sk_callback_sse41+0xe82>
13384  DB  68,15,40,13,114,16,0,0              ; movaps        0x1072(%rip),%xmm9        # 4840 <_sk_callback_sse41+0xe92>
13385  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
13386  DB  68,15,40,5,118,16,0,0               ; movaps        0x1076(%rip),%xmm8        # 4850 <_sk_callback_sse41+0xea2>
13387  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13388  DB  68,15,88,5,122,16,0,0               ; addps         0x107a(%rip),%xmm8        # 4860 <_sk_callback_sse41+0xeb2>
13389  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13390  DB  68,15,88,5,126,16,0,0               ; addps         0x107e(%rip),%xmm8        # 4870 <_sk_callback_sse41+0xec2>
13391  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13392  DB  68,15,88,5,130,16,0,0               ; addps         0x1082(%rip),%xmm8        # 4880 <_sk_callback_sse41+0xed2>
13393  DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
13394  DB  72,173                              ; lods          %ds:(%rsi),%rax
13395  DB  255,224                             ; jmpq          *%rax
13396
13397PUBLIC _sk_bicubic_p1x_sse41
13398_sk_bicubic_p1x_sse41 LABEL PROC
13399  DB  72,173                              ; lods          %ds:(%rsi),%rax
13400  DB  68,15,40,5,124,16,0,0               ; movaps        0x107c(%rip),%xmm8        # 4890 <_sk_callback_sse41+0xee2>
13401  DB  15,16,0                             ; movups        (%rax),%xmm0
13402  DB  68,15,16,72,64                      ; movups        0x40(%rax),%xmm9
13403  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
13404  DB  68,15,40,21,120,16,0,0              ; movaps        0x1078(%rip),%xmm10        # 48a0 <_sk_callback_sse41+0xef2>
13405  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13406  DB  68,15,88,21,124,16,0,0              ; addps         0x107c(%rip),%xmm10        # 48b0 <_sk_callback_sse41+0xf02>
13407  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13408  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
13409  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13410  DB  68,15,88,21,120,16,0,0              ; addps         0x1078(%rip),%xmm10        # 48c0 <_sk_callback_sse41+0xf12>
13411  DB  68,15,17,144,128,0,0,0              ; movups        %xmm10,0x80(%rax)
13412  DB  72,173                              ; lods          %ds:(%rsi),%rax
13413  DB  255,224                             ; jmpq          *%rax
13414
13415PUBLIC _sk_bicubic_p3x_sse41
13416_sk_bicubic_p3x_sse41 LABEL PROC
13417  DB  72,173                              ; lods          %ds:(%rsi),%rax
13418  DB  15,16,0                             ; movups        (%rax),%xmm0
13419  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
13420  DB  15,88,5,107,16,0,0                  ; addps         0x106b(%rip),%xmm0        # 48d0 <_sk_callback_sse41+0xf22>
13421  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
13422  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
13423  DB  68,15,89,5,107,16,0,0               ; mulps         0x106b(%rip),%xmm8        # 48e0 <_sk_callback_sse41+0xf32>
13424  DB  68,15,88,5,115,16,0,0               ; addps         0x1073(%rip),%xmm8        # 48f0 <_sk_callback_sse41+0xf42>
13425  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13426  DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
13427  DB  72,173                              ; lods          %ds:(%rsi),%rax
13428  DB  255,224                             ; jmpq          *%rax
13429
13430PUBLIC _sk_bicubic_n3y_sse41
13431_sk_bicubic_n3y_sse41 LABEL PROC
13432  DB  72,173                              ; lods          %ds:(%rsi),%rax
13433  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
13434  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
13435  DB  15,88,13,97,16,0,0                  ; addps         0x1061(%rip),%xmm1        # 4900 <_sk_callback_sse41+0xf52>
13436  DB  68,15,40,13,105,16,0,0              ; movaps        0x1069(%rip),%xmm9        # 4910 <_sk_callback_sse41+0xf62>
13437  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
13438  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
13439  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
13440  DB  68,15,89,13,101,16,0,0              ; mulps         0x1065(%rip),%xmm9        # 4920 <_sk_callback_sse41+0xf72>
13441  DB  68,15,88,13,109,16,0,0              ; addps         0x106d(%rip),%xmm9        # 4930 <_sk_callback_sse41+0xf82>
13442  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
13443  DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
13444  DB  72,173                              ; lods          %ds:(%rsi),%rax
13445  DB  255,224                             ; jmpq          *%rax
13446
13447PUBLIC _sk_bicubic_n1y_sse41
13448_sk_bicubic_n1y_sse41 LABEL PROC
13449  DB  72,173                              ; lods          %ds:(%rsi),%rax
13450  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
13451  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
13452  DB  15,88,13,91,16,0,0                  ; addps         0x105b(%rip),%xmm1        # 4940 <_sk_callback_sse41+0xf92>
13453  DB  68,15,40,13,99,16,0,0               ; movaps        0x1063(%rip),%xmm9        # 4950 <_sk_callback_sse41+0xfa2>
13454  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
13455  DB  68,15,40,5,103,16,0,0               ; movaps        0x1067(%rip),%xmm8        # 4960 <_sk_callback_sse41+0xfb2>
13456  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13457  DB  68,15,88,5,107,16,0,0               ; addps         0x106b(%rip),%xmm8        # 4970 <_sk_callback_sse41+0xfc2>
13458  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13459  DB  68,15,88,5,111,16,0,0               ; addps         0x106f(%rip),%xmm8        # 4980 <_sk_callback_sse41+0xfd2>
13460  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13461  DB  68,15,88,5,115,16,0,0               ; addps         0x1073(%rip),%xmm8        # 4990 <_sk_callback_sse41+0xfe2>
13462  DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
13463  DB  72,173                              ; lods          %ds:(%rsi),%rax
13464  DB  255,224                             ; jmpq          *%rax
13465
13466PUBLIC _sk_bicubic_p1y_sse41
13467_sk_bicubic_p1y_sse41 LABEL PROC
13468  DB  72,173                              ; lods          %ds:(%rsi),%rax
13469  DB  68,15,40,5,109,16,0,0               ; movaps        0x106d(%rip),%xmm8        # 49a0 <_sk_callback_sse41+0xff2>
13470  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
13471  DB  68,15,16,72,96                      ; movups        0x60(%rax),%xmm9
13472  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
13473  DB  68,15,40,21,104,16,0,0              ; movaps        0x1068(%rip),%xmm10        # 49b0 <_sk_callback_sse41+0x1002>
13474  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13475  DB  68,15,88,21,108,16,0,0              ; addps         0x106c(%rip),%xmm10        # 49c0 <_sk_callback_sse41+0x1012>
13476  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13477  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
13478  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
13479  DB  68,15,88,21,104,16,0,0              ; addps         0x1068(%rip),%xmm10        # 49d0 <_sk_callback_sse41+0x1022>
13480  DB  68,15,17,144,160,0,0,0              ; movups        %xmm10,0xa0(%rax)
13481  DB  72,173                              ; lods          %ds:(%rsi),%rax
13482  DB  255,224                             ; jmpq          *%rax
13483
13484PUBLIC _sk_bicubic_p3y_sse41
13485_sk_bicubic_p3y_sse41 LABEL PROC
13486  DB  72,173                              ; lods          %ds:(%rsi),%rax
13487  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
13488  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
13489  DB  15,88,13,90,16,0,0                  ; addps         0x105a(%rip),%xmm1        # 49e0 <_sk_callback_sse41+0x1032>
13490  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
13491  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
13492  DB  68,15,89,5,90,16,0,0                ; mulps         0x105a(%rip),%xmm8        # 49f0 <_sk_callback_sse41+0x1042>
13493  DB  68,15,88,5,98,16,0,0                ; addps         0x1062(%rip),%xmm8        # 4a00 <_sk_callback_sse41+0x1052>
13494  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
13495  DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
13496  DB  72,173                              ; lods          %ds:(%rsi),%rax
13497  DB  255,224                             ; jmpq          *%rax
13498
13499PUBLIC _sk_callback_sse41
13500_sk_callback_sse41 LABEL PROC
13501  DB  65,86                               ; push          %r14
13502  DB  83                                  ; push          %rbx
13503  DB  72,131,236,40                       ; sub           $0x28,%rsp
13504  DB  68,15,40,197                        ; movaps        %xmm5,%xmm8
13505  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
13506  DB  73,137,214                          ; mov           %rdx,%r14
13507  DB  72,173                              ; lods          %ds:(%rsi),%rax
13508  DB  72,137,195                          ; mov           %rax,%rbx
13509  DB  15,40,224                           ; movaps        %xmm0,%xmm4
13510  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
13511  DB  15,40,234                           ; movaps        %xmm2,%xmm5
13512  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
13513  DB  15,21,193                           ; unpckhps      %xmm1,%xmm0
13514  DB  15,21,211                           ; unpckhps      %xmm3,%xmm2
13515  DB  15,40,204                           ; movaps        %xmm4,%xmm1
13516  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
13517  DB  15,18,236                           ; movhlps       %xmm4,%xmm5
13518  DB  15,40,216                           ; movaps        %xmm0,%xmm3
13519  DB  102,15,20,218                       ; unpcklpd      %xmm2,%xmm3
13520  DB  15,18,208                           ; movhlps       %xmm0,%xmm2
13521  DB  102,15,17,75,8                      ; movupd        %xmm1,0x8(%rbx)
13522  DB  15,17,107,24                        ; movups        %xmm5,0x18(%rbx)
13523  DB  102,15,17,91,40                     ; movupd        %xmm3,0x28(%rbx)
13524  DB  15,17,83,56                         ; movups        %xmm2,0x38(%rbx)
13525  DB  186,4,0,0,0                         ; mov           $0x4,%edx
13526  DB  72,137,217                          ; mov           %rbx,%rcx
13527  DB  255,19                              ; callq         *(%rbx)
13528  DB  72,139,131,136,0,0,0                ; mov           0x88(%rbx),%rax
13529  DB  15,16,32                            ; movups        (%rax),%xmm4
13530  DB  15,16,64,16                         ; movups        0x10(%rax),%xmm0
13531  DB  15,16,88,32                         ; movups        0x20(%rax),%xmm3
13532  DB  15,16,80,48                         ; movups        0x30(%rax),%xmm2
13533  DB  15,40,236                           ; movaps        %xmm4,%xmm5
13534  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
13535  DB  15,40,203                           ; movaps        %xmm3,%xmm1
13536  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
13537  DB  15,21,224                           ; unpckhps      %xmm0,%xmm4
13538  DB  15,21,218                           ; unpckhps      %xmm2,%xmm3
13539  DB  15,40,197                           ; movaps        %xmm5,%xmm0
13540  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
13541  DB  15,18,205                           ; movhlps       %xmm5,%xmm1
13542  DB  15,40,212                           ; movaps        %xmm4,%xmm2
13543  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
13544  DB  15,18,220                           ; movhlps       %xmm4,%xmm3
13545  DB  72,173                              ; lods          %ds:(%rsi),%rax
13546  DB  76,137,242                          ; mov           %r14,%rdx
13547  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
13548  DB  65,15,40,232                        ; movaps        %xmm8,%xmm5
13549  DB  72,131,196,40                       ; add           $0x28,%rsp
13550  DB  91                                  ; pop           %rbx
13551  DB  65,94                               ; pop           %r14
13552  DB  255,224                             ; jmpq          *%rax
13553
13554ALIGN 16
13555  DB  0,0                                 ; add           %al,(%rax)
13556  DB  0,63                                ; add           %bh,(%rdi)
13557  DB  0,0                                 ; add           %al,(%rax)
13558  DB  0,63                                ; add           %bh,(%rdi)
13559  DB  0,0                                 ; add           %al,(%rax)
13560  DB  0,63                                ; add           %bh,(%rdi)
13561  DB  0,0                                 ; add           %al,(%rax)
13562  DB  0,63                                ; add           %bh,(%rdi)
13563  DB  0,0                                 ; add           %al,(%rax)
13564  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13565  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13566  DB  63                                  ; (bad)
13567  DB  0,0                                 ; add           %al,(%rax)
13568  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13569  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13570  DB  63                                  ; (bad)
13571  DB  0,0                                 ; add           %al,(%rax)
13572  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13573  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13574  DB  63                                  ; (bad)
13575  DB  0,0                                 ; add           %al,(%rax)
13576  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13577  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13578  DB  63                                  ; (bad)
13579  DB  0,0                                 ; add           %al,(%rax)
13580  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13581  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13582  DB  63                                  ; (bad)
13583  DB  0,0                                 ; add           %al,(%rax)
13584  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13585  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13586  DB  63                                  ; (bad)
13587  DB  0,0                                 ; add           %al,(%rax)
13588  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13589  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13590  DB  63                                  ; (bad)
13591  DB  0,0                                 ; add           %al,(%rax)
13592  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13593  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13594  DB  63                                  ; (bad)
13595  DB  0,0                                 ; add           %al,(%rax)
13596  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13597  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13598  DB  63                                  ; (bad)
13599  DB  0,0                                 ; add           %al,(%rax)
13600  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13601  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13602  DB  63                                  ; (bad)
13603  DB  0,0                                 ; add           %al,(%rax)
13604  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13605  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13606  DB  63                                  ; (bad)
13607  DB  0,0                                 ; add           %al,(%rax)
13608  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13609  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13610  DB  63                                  ; (bad)
13611  DB  0,0                                 ; add           %al,(%rax)
13612  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13613  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13614  DB  63                                  ; (bad)
13615  DB  0,0                                 ; add           %al,(%rax)
13616  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13617  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13618  DB  63                                  ; (bad)
13619  DB  0,0                                 ; add           %al,(%rax)
13620  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13621  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13622  DB  63                                  ; (bad)
13623  DB  0,0                                 ; add           %al,(%rax)
13624  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13625  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13626  DB  63                                  ; (bad)
13627  DB  0,0                                 ; add           %al,(%rax)
13628  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13629  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13630  DB  63                                  ; (bad)
13631  DB  0,0                                 ; add           %al,(%rax)
13632  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13633  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13634  DB  63                                  ; (bad)
13635  DB  0,0                                 ; add           %al,(%rax)
13636  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13637  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13638  DB  63                                  ; (bad)
13639  DB  0,0                                 ; add           %al,(%rax)
13640  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13641  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13642  DB  63                                  ; (bad)
13643  DB  0,0                                 ; add           %al,(%rax)
13644  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13645  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13646  DB  63                                  ; (bad)
13647  DB  0,0                                 ; add           %al,(%rax)
13648  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13649  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13650  DB  63                                  ; (bad)
13651  DB  0,0                                 ; add           %al,(%rax)
13652  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13653  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13654  DB  63                                  ; (bad)
13655  DB  0,0                                 ; add           %al,(%rax)
13656  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13657  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13658  DB  63                                  ; (bad)
13659  DB  0,0                                 ; add           %al,(%rax)
13660  DB  128,191,0,0,128,191,0               ; cmpb          $0x0,-0x40800000(%rdi)
13661  DB  0,128,191,0,0,128                   ; add           %al,-0x7fffff41(%rax)
13662  DB  191,0,0,224,64                      ; mov           $0x40e00000,%edi
13663  DB  0,0                                 ; add           %al,(%rax)
13664  DB  224,64                              ; loopne        3be8 <.literal16+0x188>
13665  DB  0,0                                 ; add           %al,(%rax)
13666  DB  224,64                              ; loopne        3bec <.literal16+0x18c>
13667  DB  0,0                                 ; add           %al,(%rax)
13668  DB  224,64                              ; loopne        3bf0 <.literal16+0x190>
13669  DB  0,0                                 ; add           %al,(%rax)
13670  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13671  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13672  DB  63                                  ; (bad)
13673  DB  0,0                                 ; add           %al,(%rax)
13674  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13675  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13676  DB  63                                  ; (bad)
13677  DB  0,0                                 ; add           %al,(%rax)
13678  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13679  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13680  DB  63                                  ; (bad)
13681  DB  0,0                                 ; add           %al,(%rax)
13682  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13683  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13684  DB  63                                  ; (bad)
13685  DB  145                                 ; xchg          %eax,%ecx
13686  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
13687  DB  145                                 ; xchg          %eax,%ecx
13688  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
13689  DB  154                                 ; (bad)
13690  DB  153                                 ; cltd
13691  DB  153                                 ; cltd
13692  DB  62,154                              ; ds            (bad)
13693  DB  153                                 ; cltd
13694  DB  153                                 ; cltd
13695  DB  62,154                              ; ds            (bad)
13696  DB  153                                 ; cltd
13697  DB  153                                 ; cltd
13698  DB  62,154                              ; ds            (bad)
13699  DB  153                                 ; cltd
13700  DB  153                                 ; cltd
13701  DB  62,92                               ; ds            pop %rsp
13702  DB  143                                 ; (bad)
13703  DB  50,63                               ; xor           (%rdi),%bh
13704  DB  92                                  ; pop           %rsp
13705  DB  143                                 ; (bad)
13706  DB  50,63                               ; xor           (%rdi),%bh
13707  DB  92                                  ; pop           %rsp
13708  DB  143                                 ; (bad)
13709  DB  50,63                               ; xor           (%rdi),%bh
13710  DB  92                                  ; pop           %rsp
13711  DB  143                                 ; (bad)
13712  DB  50,63                               ; xor           (%rdi),%bh
13713  DB  10,215                              ; or            %bh,%dl
13714  DB  35,59                               ; and           (%rbx),%edi
13715  DB  10,215                              ; or            %bh,%dl
13716  DB  35,59                               ; and           (%rbx),%edi
13717  DB  10,215                              ; or            %bh,%dl
13718  DB  35,59                               ; and           (%rbx),%edi
13719  DB  10,215                              ; or            %bh,%dl
13720  DB  35,59                               ; and           (%rbx),%edi
13721  DB  174                                 ; scas          %es:(%rdi),%al
13722  DB  71,97                               ; rex.RXB       (bad)
13723  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
13724  DB  174                                 ; scas          %es:(%rdi),%al
13725  DB  71,97                               ; rex.RXB       (bad)
13726  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
13727  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
13728  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
13729  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
13730  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
13731  DB  206                                 ; (bad)
13732  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
13733  DB  48,63                               ; xor           %bh,(%rdi)
13734  DB  206                                 ; (bad)
13735  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
13736  DB  48,63                               ; xor           %bh,(%rdi)
13737  DB  206                                 ; (bad)
13738  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
13739  DB  48,63                               ; xor           %bh,(%rdi)
13740  DB  206                                 ; (bad)
13741  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
13742  DB  48,63                               ; xor           %bh,(%rdi)
13743  DB  168,87                              ; test          $0x57,%al
13744  DB  202,189,168                         ; lret          $0xa8bd
13745  DB  87                                  ; push          %rdi
13746  DB  202,189,168                         ; lret          $0xa8bd
13747  DB  87                                  ; push          %rdi
13748  DB  202,189,168                         ; lret          $0xa8bd
13749  DB  87                                  ; push          %rdi
13750  DB  202,189,194                         ; lret          $0xc2bd
13751  DB  135,210                             ; xchg          %edx,%edx
13752  DB  62,194,135,210                      ; ds            retq $0xd287
13753  DB  62,194,135,210                      ; ds            retq $0xd287
13754  DB  62,194,135,210                      ; ds            retq $0xd287
13755  DB  62,0,0                              ; add           %al,%ds:(%rax)
13756  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13757  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13758  DB  63                                  ; (bad)
13759  DB  0,0                                 ; add           %al,(%rax)
13760  DB  128,63,4                            ; cmpb          $0x4,(%rdi)
13761  DB  231,140                             ; out           %eax,$0x8c
13762  DB  59,4,231                            ; cmp           (%rdi,%riz,8),%eax
13763  DB  140,59                              ; mov           %?,(%rbx)
13764  DB  4,231                               ; add           $0xe7,%al
13765  DB  140,59                              ; mov           %?,(%rbx)
13766  DB  4,231                               ; add           $0xe7,%al
13767  DB  140,59                              ; mov           %?,(%rbx)
13768  DB  0,0                                 ; add           %al,(%rax)
13769  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13770  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13771  DB  63                                  ; (bad)
13772  DB  0,0                                 ; add           %al,(%rax)
13773  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13774  DB  0,192                               ; add           %al,%al
13775  DB  64,0,0                              ; add           %al,(%rax)
13776  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
13777  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
13778  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
13779  DB  0,64,0                              ; add           %al,0x0(%rax)
13780  DB  0,0                                 ; add           %al,(%rax)
13781  DB  64,0,0                              ; add           %al,(%rax)
13782  DB  0,64,0                              ; add           %al,0x0(%rax)
13783  DB  0,0                                 ; add           %al,(%rax)
13784  DB  64,0,0                              ; add           %al,(%rax)
13785  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
13786  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
13787  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
13788  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%rax)
13789  DB  42,62                               ; sub           (%rsi),%bh
13790  DB  171                                 ; stos          %eax,%es:(%rdi)
13791  DB  170                                 ; stos          %al,%es:(%rdi)
13792  DB  42,62                               ; sub           (%rsi),%bh
13793  DB  171                                 ; stos          %eax,%es:(%rdi)
13794  DB  170                                 ; stos          %al,%es:(%rdi)
13795  DB  42,62                               ; sub           (%rsi),%bh
13796  DB  171                                 ; stos          %eax,%es:(%rdi)
13797  DB  170                                 ; stos          %al,%es:(%rdi)
13798  DB  42,62                               ; sub           (%rsi),%bh
13799  DB  0,0                                 ; add           %al,(%rax)
13800  DB  0,63                                ; add           %bh,(%rdi)
13801  DB  0,0                                 ; add           %al,(%rax)
13802  DB  0,63                                ; add           %bh,(%rdi)
13803  DB  0,0                                 ; add           %al,(%rax)
13804  DB  0,63                                ; add           %bh,(%rdi)
13805  DB  0,0                                 ; add           %al,(%rax)
13806  DB  0,63                                ; add           %bh,(%rdi)
13807  DB  0,0                                 ; add           %al,(%rax)
13808  DB  0,63                                ; add           %bh,(%rdi)
13809  DB  0,0                                 ; add           %al,(%rax)
13810  DB  0,63                                ; add           %bh,(%rdi)
13811  DB  0,0                                 ; add           %al,(%rax)
13812  DB  0,63                                ; add           %bh,(%rdi)
13813  DB  0,0                                 ; add           %al,(%rax)
13814  DB  0,63                                ; add           %bh,(%rdi)
13815  DB  171                                 ; stos          %eax,%es:(%rdi)
13816  DB  170                                 ; stos          %al,%es:(%rdi)
13817  DB  170                                 ; stos          %al,%es:(%rdi)
13818  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
13819  DB  170                                 ; stos          %al,%es:(%rdi)
13820  DB  170                                 ; stos          %al,%es:(%rdi)
13821  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
13822  DB  170                                 ; stos          %al,%es:(%rdi)
13823  DB  170                                 ; stos          %al,%es:(%rdi)
13824  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
13825  DB  170                                 ; stos          %al,%es:(%rdi)
13826  DB  170                                 ; stos          %al,%es:(%rdi)
13827  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
13828  DB  170                                 ; stos          %al,%es:(%rdi)
13829  DB  42,63                               ; sub           (%rdi),%bh
13830  DB  171                                 ; stos          %eax,%es:(%rdi)
13831  DB  170                                 ; stos          %al,%es:(%rdi)
13832  DB  42,63                               ; sub           (%rdi),%bh
13833  DB  171                                 ; stos          %eax,%es:(%rdi)
13834  DB  170                                 ; stos          %al,%es:(%rdi)
13835  DB  42,63                               ; sub           (%rdi),%bh
13836  DB  171                                 ; stos          %eax,%es:(%rdi)
13837  DB  170                                 ; stos          %al,%es:(%rdi)
13838  DB  42,63                               ; sub           (%rdi),%bh
13839  DB  0,0                                 ; add           %al,(%rax)
13840  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
13841  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
13842  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
13843  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
13844  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
13845  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
13846  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
13847  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%rax)
13848  DB  42,62                               ; sub           (%rsi),%bh
13849  DB  171                                 ; stos          %eax,%es:(%rdi)
13850  DB  170                                 ; stos          %al,%es:(%rdi)
13851  DB  42,62                               ; sub           (%rsi),%bh
13852  DB  171                                 ; stos          %eax,%es:(%rdi)
13853  DB  170                                 ; stos          %al,%es:(%rdi)
13854  DB  42,62                               ; sub           (%rsi),%bh
13855  DB  171                                 ; stos          %eax,%es:(%rdi)
13856  DB  170                                 ; stos          %al,%es:(%rdi)
13857  DB  42,62                               ; sub           (%rsi),%bh
13858  DB  171                                 ; stos          %eax,%es:(%rdi)
13859  DB  170                                 ; stos          %al,%es:(%rdi)
13860  DB  170                                 ; stos          %al,%es:(%rdi)
13861  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
13862  DB  171                                 ; stos          %eax,%es:(%rdi)
13863  DB  170                                 ; stos          %al,%es:(%rdi)
13864  DB  170                                 ; stos          %al,%es:(%rdi)
13865  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
13866  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
13867  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
13868  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
13869  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
13870  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
13871  DB  248                                 ; clc
13872  DB  0,0                                 ; add           %al,(%rax)
13873  DB  0,248                               ; add           %bh,%al
13874  DB  0,0                                 ; add           %al,(%rax)
13875  DB  0,248                               ; add           %bh,%al
13876  DB  0,0                                 ; add           %al,(%rax)
13877  DB  0,248                               ; add           %bh,%al
13878  DB  0,0                                 ; add           %al,(%rax)
13879  DB  8,33                                ; or            %ah,(%rcx)
13880  DB  132,55                              ; test          %dh,(%rdi)
13881  DB  8,33                                ; or            %ah,(%rcx)
13882  DB  132,55                              ; test          %dh,(%rdi)
13883  DB  8,33                                ; or            %ah,(%rcx)
13884  DB  132,55                              ; test          %dh,(%rdi)
13885  DB  8,33                                ; or            %ah,(%rcx)
13886  DB  132,55                              ; test          %dh,(%rdi)
13887  DB  224,7                               ; loopne        3da9 <.literal16+0x349>
13888  DB  0,0                                 ; add           %al,(%rax)
13889  DB  224,7                               ; loopne        3dad <.literal16+0x34d>
13890  DB  0,0                                 ; add           %al,(%rax)
13891  DB  224,7                               ; loopne        3db1 <.literal16+0x351>
13892  DB  0,0                                 ; add           %al,(%rax)
13893  DB  224,7                               ; loopne        3db5 <.literal16+0x355>
13894  DB  0,0                                 ; add           %al,(%rax)
13895  DB  33,8                                ; and           %ecx,(%rax)
13896  DB  2,58                                ; add           (%rdx),%bh
13897  DB  33,8                                ; and           %ecx,(%rax)
13898  DB  2,58                                ; add           (%rdx),%bh
13899  DB  33,8                                ; and           %ecx,(%rax)
13900  DB  2,58                                ; add           (%rdx),%bh
13901  DB  33,8                                ; and           %ecx,(%rax)
13902  DB  2,58                                ; add           (%rdx),%bh
13903  DB  31                                  ; (bad)
13904  DB  0,0                                 ; add           %al,(%rax)
13905  DB  0,31                                ; add           %bl,(%rdi)
13906  DB  0,0                                 ; add           %al,(%rax)
13907  DB  0,31                                ; add           %bl,(%rdi)
13908  DB  0,0                                 ; add           %al,(%rax)
13909  DB  0,31                                ; add           %bl,(%rdi)
13910  DB  0,0                                 ; add           %al,(%rax)
13911  DB  0,8                                 ; add           %cl,(%rax)
13912  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%rdi,1)
13913  DB  8,33                                ; or            %ah,(%rcx)
13914  DB  4,61                                ; add           $0x3d,%al
13915  DB  8,33                                ; or            %ah,(%rcx)
13916  DB  4,61                                ; add           $0x3d,%al
13917  DB  0,0                                 ; add           %al,(%rax)
13918  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13919  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13920  DB  63                                  ; (bad)
13921  DB  0,0                                 ; add           %al,(%rax)
13922  DB  128,63,255                          ; cmpb          $0xff,(%rdi)
13923  DB  0,0                                 ; add           %al,(%rax)
13924  DB  0,255                               ; add           %bh,%bh
13925  DB  0,0                                 ; add           %al,(%rax)
13926  DB  0,255                               ; add           %bh,%bh
13927  DB  0,0                                 ; add           %al,(%rax)
13928  DB  0,255                               ; add           %bh,%bh
13929  DB  0,0                                 ; add           %al,(%rax)
13930  DB  0,1                                 ; add           %al,(%rcx)
13931  DB  255                                 ; (bad)
13932  DB  255                                 ; (bad)
13933  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a003e08 <_sk_callback_sse41+0xa00045a>
13934  DB  255                                 ; (bad)
13935  DB  255                                 ; (bad)
13936  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3003e10 <_sk_callback_sse41+0x3000462>
13937  DB  255                                 ; (bad)
13938  DB  255                                 ; (bad)
13939  DB  255,6                               ; incl          (%rsi)
13940  DB  255                                 ; (bad)
13941  DB  255                                 ; (bad)
13942  DB  255,10                              ; decl          (%rdx)
13943  DB  255                                 ; (bad)
13944  DB  255                                 ; (bad)
13945  DB  255,14                              ; decl          (%rsi)
13946  DB  255                                 ; (bad)
13947  DB  255                                 ; (bad)
13948  DB  255,129,128,128,59,129              ; incl          -0x7ec47f80(%rcx)
13949  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
13950  DB  129,128,128,59,255,0,255,0,255,0    ; addl          $0xff00ff,0xff3b80(%rax)
13951  DB  255,0                               ; incl          (%rax)
13952  DB  0,0                                 ; add           %al,(%rax)
13953  DB  0,0                                 ; add           %al,(%rax)
13954  DB  0,0                                 ; add           %al,(%rax)
13955  DB  0,0                                 ; add           %al,(%rax)
13956  DB  8,255                               ; or            %bh,%bh
13957  DB  10,255                              ; or            %bh,%bh
13958  DB  12,255                              ; or            $0xff,%al
13959  DB  14                                  ; (bad)
13960  DB  255,0                               ; incl          (%rax)
13961  DB  0,0                                 ; add           %al,(%rax)
13962  DB  0,0                                 ; add           %al,(%rax)
13963  DB  0,0                                 ; add           %al,(%rax)
13964  DB  0,128,0,128,55,128                  ; add           %al,-0x7fc88000(%rax)
13965  DB  0,128,55,128,0,128                  ; add           %al,-0x7fff7fc9(%rax)
13966  DB  55                                  ; (bad)
13967  DB  128,0,128                           ; addb          $0x80,(%rax)
13968  DB  55                                  ; (bad)
13969  DB  255,0                               ; incl          (%rax)
13970  DB  255,0                               ; incl          (%rax)
13971  DB  255,0                               ; incl          (%rax)
13972  DB  255,0                               ; incl          (%rax)
13973  DB  0,0                                 ; add           %al,(%rax)
13974  DB  0,0                                 ; add           %al,(%rax)
13975  DB  0,0                                 ; add           %al,(%rax)
13976  DB  0,0                                 ; add           %al,(%rax)
13977  DB  8,128,10,128,12,128                 ; or            %al,-0x7ff37ff6(%rax)
13978  DB  14                                  ; (bad)
13979  DB  128,0,0                             ; addb          $0x0,(%rax)
13980  DB  0,0                                 ; add           %al,(%rax)
13981  DB  0,0                                 ; add           %al,(%rax)
13982  DB  0,0                                 ; add           %al,(%rax)
13983  DB  0,0                                 ; add           %al,(%rax)
13984  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13985  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
13986  DB  63                                  ; (bad)
13987  DB  0,0                                 ; add           %al,(%rax)
13988  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
13989  DB  0,127,67                            ; add           %bh,0x43(%rdi)
13990  DB  0,0                                 ; add           %al,(%rax)
13991  DB  127,67                              ; jg            3edb <.literal16+0x47b>
13992  DB  0,0                                 ; add           %al,(%rax)
13993  DB  127,67                              ; jg            3edf <.literal16+0x47f>
13994  DB  0,0                                 ; add           %al,(%rax)
13995  DB  127,67                              ; jg            3ee3 <.literal16+0x483>
13996  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
13997  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
13998  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
13999  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14000  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
14001  DB  0,0                                 ; add           %al,(%rax)
14002  DB  52,0                                ; xor           $0x0,%al
14003  DB  0,0                                 ; add           %al,(%rax)
14004  DB  52,0                                ; xor           $0x0,%al
14005  DB  0,0                                 ; add           %al,(%rax)
14006  DB  52,0                                ; xor           $0x0,%al
14007  DB  0,0                                 ; add           %al,(%rax)
14008  DB  52,255                              ; xor           $0xff,%al
14009  DB  255                                 ; (bad)
14010  DB  127,0                               ; jg            3ed4 <.literal16+0x474>
14011  DB  255                                 ; (bad)
14012  DB  255                                 ; (bad)
14013  DB  127,0                               ; jg            3ed8 <.literal16+0x478>
14014  DB  255                                 ; (bad)
14015  DB  255                                 ; (bad)
14016  DB  127,0                               ; jg            3edc <.literal16+0x47c>
14017  DB  255                                 ; (bad)
14018  DB  255                                 ; (bad)
14019  DB  127,0                               ; jg            3ee0 <.literal16+0x480>
14020  DB  0,0                                 ; add           %al,(%rax)
14021  DB  0,63                                ; add           %bh,(%rdi)
14022  DB  0,0                                 ; add           %al,(%rax)
14023  DB  0,63                                ; add           %bh,(%rdi)
14024  DB  0,0                                 ; add           %al,(%rax)
14025  DB  0,63                                ; add           %bh,(%rdi)
14026  DB  0,0                                 ; add           %al,(%rax)
14027  DB  0,63                                ; add           %bh,(%rdi)
14028  DB  119,115                             ; ja            3f65 <.literal16+0x505>
14029  DB  248                                 ; clc
14030  DB  194,119,115                         ; retq          $0x7377
14031  DB  248                                 ; clc
14032  DB  194,119,115                         ; retq          $0x7377
14033  DB  248                                 ; clc
14034  DB  194,119,115                         ; retq          $0x7377
14035  DB  248                                 ; clc
14036  DB  194,117,191                         ; retq          $0xbf75
14037  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14038  DB  63                                  ; (bad)
14039  DB  117,191                             ; jne           3ec9 <.literal16+0x469>
14040  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14041  DB  63                                  ; (bad)
14042  DB  249                                 ; stc
14043  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14044  DB  249                                 ; stc
14045  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14046  DB  249                                 ; stc
14047  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14048  DB  249                                 ; stc
14049  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14050  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
14051  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a37f0a <_sk_callback_sse41+0xffffffffe9a3455c>
14052  DB  220,63                              ; fdivrl        (%rdi)
14053  DB  81                                  ; push          %rcx
14054  DB  140,242                             ; mov           %?,%edx
14055  DB  66,81                               ; rex.X         push %rcx
14056  DB  140,242                             ; mov           %?,%edx
14057  DB  66,81                               ; rex.X         push %rcx
14058  DB  140,242                             ; mov           %?,%edx
14059  DB  66,81                               ; rex.X         push %rcx
14060  DB  140,242                             ; mov           %?,%edx
14061  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
14062  DB  63                                  ; (bad)
14063  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
14064  DB  63                                  ; (bad)
14065  DB  248                                 ; clc
14066  DB  245                                 ; cmc
14067  DB  154                                 ; (bad)
14068  DB  64,248                              ; rex           clc
14069  DB  245                                 ; cmc
14070  DB  154                                 ; (bad)
14071  DB  64,248                              ; rex           clc
14072  DB  245                                 ; cmc
14073  DB  154                                 ; (bad)
14074  DB  64,248                              ; rex           clc
14075  DB  245                                 ; cmc
14076  DB  154                                 ; (bad)
14077  DB  64,254                              ; rex           (bad)
14078  DB  210,221                             ; rcr           %cl,%ch
14079  DB  65,254                              ; rex.B         (bad)
14080  DB  210,221                             ; rcr           %cl,%ch
14081  DB  65,254                              ; rex.B         (bad)
14082  DB  210,221                             ; rcr           %cl,%ch
14083  DB  65,254                              ; rex.B         (bad)
14084  DB  210,221                             ; rcr           %cl,%ch
14085  DB  65,0,0                              ; add           %al,(%r8)
14086  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14087  DB  0,0                                 ; add           %al,(%rax)
14088  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14089  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14090  DB  0,0                                 ; add           %al,(%rax)
14091  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14092  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14093  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14094  DB  63                                  ; (bad)
14095  DB  0,0                                 ; add           %al,(%rax)
14096  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14097  DB  0,0                                 ; add           %al,(%rax)
14098  DB  52,0                                ; xor           $0x0,%al
14099  DB  0,0                                 ; add           %al,(%rax)
14100  DB  52,0                                ; xor           $0x0,%al
14101  DB  0,0                                 ; add           %al,(%rax)
14102  DB  52,0                                ; xor           $0x0,%al
14103  DB  0,0                                 ; add           %al,(%rax)
14104  DB  52,255                              ; xor           $0xff,%al
14105  DB  255                                 ; (bad)
14106  DB  127,0                               ; jg            3fa4 <.literal16+0x544>
14107  DB  255                                 ; (bad)
14108  DB  255                                 ; (bad)
14109  DB  127,0                               ; jg            3fa8 <.literal16+0x548>
14110  DB  255                                 ; (bad)
14111  DB  255                                 ; (bad)
14112  DB  127,0                               ; jg            3fac <.literal16+0x54c>
14113  DB  255                                 ; (bad)
14114  DB  255                                 ; (bad)
14115  DB  127,0                               ; jg            3fb0 <.literal16+0x550>
14116  DB  0,0                                 ; add           %al,(%rax)
14117  DB  0,63                                ; add           %bh,(%rdi)
14118  DB  0,0                                 ; add           %al,(%rax)
14119  DB  0,63                                ; add           %bh,(%rdi)
14120  DB  0,0                                 ; add           %al,(%rax)
14121  DB  0,63                                ; add           %bh,(%rdi)
14122  DB  0,0                                 ; add           %al,(%rax)
14123  DB  0,63                                ; add           %bh,(%rdi)
14124  DB  119,115                             ; ja            4035 <.literal16+0x5d5>
14125  DB  248                                 ; clc
14126  DB  194,119,115                         ; retq          $0x7377
14127  DB  248                                 ; clc
14128  DB  194,119,115                         ; retq          $0x7377
14129  DB  248                                 ; clc
14130  DB  194,119,115                         ; retq          $0x7377
14131  DB  248                                 ; clc
14132  DB  194,117,191                         ; retq          $0xbf75
14133  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14134  DB  63                                  ; (bad)
14135  DB  117,191                             ; jne           3f99 <.literal16+0x539>
14136  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14137  DB  63                                  ; (bad)
14138  DB  249                                 ; stc
14139  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14140  DB  249                                 ; stc
14141  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14142  DB  249                                 ; stc
14143  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14144  DB  249                                 ; stc
14145  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14146  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
14147  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a37fda <_sk_callback_sse41+0xffffffffe9a3462c>
14148  DB  220,63                              ; fdivrl        (%rdi)
14149  DB  81                                  ; push          %rcx
14150  DB  140,242                             ; mov           %?,%edx
14151  DB  66,81                               ; rex.X         push %rcx
14152  DB  140,242                             ; mov           %?,%edx
14153  DB  66,81                               ; rex.X         push %rcx
14154  DB  140,242                             ; mov           %?,%edx
14155  DB  66,81                               ; rex.X         push %rcx
14156  DB  140,242                             ; mov           %?,%edx
14157  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
14158  DB  63                                  ; (bad)
14159  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
14160  DB  63                                  ; (bad)
14161  DB  248                                 ; clc
14162  DB  245                                 ; cmc
14163  DB  154                                 ; (bad)
14164  DB  64,248                              ; rex           clc
14165  DB  245                                 ; cmc
14166  DB  154                                 ; (bad)
14167  DB  64,248                              ; rex           clc
14168  DB  245                                 ; cmc
14169  DB  154                                 ; (bad)
14170  DB  64,248                              ; rex           clc
14171  DB  245                                 ; cmc
14172  DB  154                                 ; (bad)
14173  DB  64,254                              ; rex           (bad)
14174  DB  210,221                             ; rcr           %cl,%ch
14175  DB  65,254                              ; rex.B         (bad)
14176  DB  210,221                             ; rcr           %cl,%ch
14177  DB  65,254                              ; rex.B         (bad)
14178  DB  210,221                             ; rcr           %cl,%ch
14179  DB  65,254                              ; rex.B         (bad)
14180  DB  210,221                             ; rcr           %cl,%ch
14181  DB  65,0,0                              ; add           %al,(%r8)
14182  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14183  DB  0,0                                 ; add           %al,(%rax)
14184  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14185  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14186  DB  0,0                                 ; add           %al,(%rax)
14187  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14188  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14189  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14190  DB  63                                  ; (bad)
14191  DB  0,0                                 ; add           %al,(%rax)
14192  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14193  DB  0,0                                 ; add           %al,(%rax)
14194  DB  52,0                                ; xor           $0x0,%al
14195  DB  0,0                                 ; add           %al,(%rax)
14196  DB  52,0                                ; xor           $0x0,%al
14197  DB  0,0                                 ; add           %al,(%rax)
14198  DB  52,0                                ; xor           $0x0,%al
14199  DB  0,0                                 ; add           %al,(%rax)
14200  DB  52,255                              ; xor           $0xff,%al
14201  DB  255                                 ; (bad)
14202  DB  127,0                               ; jg            4074 <.literal16+0x614>
14203  DB  255                                 ; (bad)
14204  DB  255                                 ; (bad)
14205  DB  127,0                               ; jg            4078 <.literal16+0x618>
14206  DB  255                                 ; (bad)
14207  DB  255                                 ; (bad)
14208  DB  127,0                               ; jg            407c <.literal16+0x61c>
14209  DB  255                                 ; (bad)
14210  DB  255                                 ; (bad)
14211  DB  127,0                               ; jg            4080 <.literal16+0x620>
14212  DB  0,0                                 ; add           %al,(%rax)
14213  DB  0,63                                ; add           %bh,(%rdi)
14214  DB  0,0                                 ; add           %al,(%rax)
14215  DB  0,63                                ; add           %bh,(%rdi)
14216  DB  0,0                                 ; add           %al,(%rax)
14217  DB  0,63                                ; add           %bh,(%rdi)
14218  DB  0,0                                 ; add           %al,(%rax)
14219  DB  0,63                                ; add           %bh,(%rdi)
14220  DB  119,115                             ; ja            4105 <.literal16+0x6a5>
14221  DB  248                                 ; clc
14222  DB  194,119,115                         ; retq          $0x7377
14223  DB  248                                 ; clc
14224  DB  194,119,115                         ; retq          $0x7377
14225  DB  248                                 ; clc
14226  DB  194,119,115                         ; retq          $0x7377
14227  DB  248                                 ; clc
14228  DB  194,117,191                         ; retq          $0xbf75
14229  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14230  DB  63                                  ; (bad)
14231  DB  117,191                             ; jne           4069 <.literal16+0x609>
14232  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14233  DB  63                                  ; (bad)
14234  DB  249                                 ; stc
14235  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14236  DB  249                                 ; stc
14237  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14238  DB  249                                 ; stc
14239  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14240  DB  249                                 ; stc
14241  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14242  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
14243  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a380aa <_sk_callback_sse41+0xffffffffe9a346fc>
14244  DB  220,63                              ; fdivrl        (%rdi)
14245  DB  81                                  ; push          %rcx
14246  DB  140,242                             ; mov           %?,%edx
14247  DB  66,81                               ; rex.X         push %rcx
14248  DB  140,242                             ; mov           %?,%edx
14249  DB  66,81                               ; rex.X         push %rcx
14250  DB  140,242                             ; mov           %?,%edx
14251  DB  66,81                               ; rex.X         push %rcx
14252  DB  140,242                             ; mov           %?,%edx
14253  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
14254  DB  63                                  ; (bad)
14255  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
14256  DB  63                                  ; (bad)
14257  DB  248                                 ; clc
14258  DB  245                                 ; cmc
14259  DB  154                                 ; (bad)
14260  DB  64,248                              ; rex           clc
14261  DB  245                                 ; cmc
14262  DB  154                                 ; (bad)
14263  DB  64,248                              ; rex           clc
14264  DB  245                                 ; cmc
14265  DB  154                                 ; (bad)
14266  DB  64,248                              ; rex           clc
14267  DB  245                                 ; cmc
14268  DB  154                                 ; (bad)
14269  DB  64,254                              ; rex           (bad)
14270  DB  210,221                             ; rcr           %cl,%ch
14271  DB  65,254                              ; rex.B         (bad)
14272  DB  210,221                             ; rcr           %cl,%ch
14273  DB  65,254                              ; rex.B         (bad)
14274  DB  210,221                             ; rcr           %cl,%ch
14275  DB  65,254                              ; rex.B         (bad)
14276  DB  210,221                             ; rcr           %cl,%ch
14277  DB  65,0,0                              ; add           %al,(%r8)
14278  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14279  DB  0,0                                 ; add           %al,(%rax)
14280  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14281  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14282  DB  0,0                                 ; add           %al,(%rax)
14283  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14284  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14285  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14286  DB  63                                  ; (bad)
14287  DB  0,0                                 ; add           %al,(%rax)
14288  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14289  DB  0,0                                 ; add           %al,(%rax)
14290  DB  52,0                                ; xor           $0x0,%al
14291  DB  0,0                                 ; add           %al,(%rax)
14292  DB  52,0                                ; xor           $0x0,%al
14293  DB  0,0                                 ; add           %al,(%rax)
14294  DB  52,0                                ; xor           $0x0,%al
14295  DB  0,0                                 ; add           %al,(%rax)
14296  DB  52,255                              ; xor           $0xff,%al
14297  DB  255                                 ; (bad)
14298  DB  127,0                               ; jg            4144 <.literal16+0x6e4>
14299  DB  255                                 ; (bad)
14300  DB  255                                 ; (bad)
14301  DB  127,0                               ; jg            4148 <.literal16+0x6e8>
14302  DB  255                                 ; (bad)
14303  DB  255                                 ; (bad)
14304  DB  127,0                               ; jg            414c <.literal16+0x6ec>
14305  DB  255                                 ; (bad)
14306  DB  255                                 ; (bad)
14307  DB  127,0                               ; jg            4150 <.literal16+0x6f0>
14308  DB  0,0                                 ; add           %al,(%rax)
14309  DB  0,63                                ; add           %bh,(%rdi)
14310  DB  0,0                                 ; add           %al,(%rax)
14311  DB  0,63                                ; add           %bh,(%rdi)
14312  DB  0,0                                 ; add           %al,(%rax)
14313  DB  0,63                                ; add           %bh,(%rdi)
14314  DB  0,0                                 ; add           %al,(%rax)
14315  DB  0,63                                ; add           %bh,(%rdi)
14316  DB  119,115                             ; ja            41d5 <.literal16+0x775>
14317  DB  248                                 ; clc
14318  DB  194,119,115                         ; retq          $0x7377
14319  DB  248                                 ; clc
14320  DB  194,119,115                         ; retq          $0x7377
14321  DB  248                                 ; clc
14322  DB  194,119,115                         ; retq          $0x7377
14323  DB  248                                 ; clc
14324  DB  194,117,191                         ; retq          $0xbf75
14325  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14326  DB  63                                  ; (bad)
14327  DB  117,191                             ; jne           4139 <.literal16+0x6d9>
14328  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
14329  DB  63                                  ; (bad)
14330  DB  249                                 ; stc
14331  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14332  DB  249                                 ; stc
14333  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14334  DB  249                                 ; stc
14335  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14336  DB  249                                 ; stc
14337  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
14338  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
14339  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3817a <_sk_callback_sse41+0xffffffffe9a347cc>
14340  DB  220,63                              ; fdivrl        (%rdi)
14341  DB  81                                  ; push          %rcx
14342  DB  140,242                             ; mov           %?,%edx
14343  DB  66,81                               ; rex.X         push %rcx
14344  DB  140,242                             ; mov           %?,%edx
14345  DB  66,81                               ; rex.X         push %rcx
14346  DB  140,242                             ; mov           %?,%edx
14347  DB  66,81                               ; rex.X         push %rcx
14348  DB  140,242                             ; mov           %?,%edx
14349  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
14350  DB  63                                  ; (bad)
14351  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
14352  DB  63                                  ; (bad)
14353  DB  248                                 ; clc
14354  DB  245                                 ; cmc
14355  DB  154                                 ; (bad)
14356  DB  64,248                              ; rex           clc
14357  DB  245                                 ; cmc
14358  DB  154                                 ; (bad)
14359  DB  64,248                              ; rex           clc
14360  DB  245                                 ; cmc
14361  DB  154                                 ; (bad)
14362  DB  64,248                              ; rex           clc
14363  DB  245                                 ; cmc
14364  DB  154                                 ; (bad)
14365  DB  64,254                              ; rex           (bad)
14366  DB  210,221                             ; rcr           %cl,%ch
14367  DB  65,254                              ; rex.B         (bad)
14368  DB  210,221                             ; rcr           %cl,%ch
14369  DB  65,254                              ; rex.B         (bad)
14370  DB  210,221                             ; rcr           %cl,%ch
14371  DB  65,254                              ; rex.B         (bad)
14372  DB  210,221                             ; rcr           %cl,%ch
14373  DB  65,0,0                              ; add           %al,(%r8)
14374  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14375  DB  0,0                                 ; add           %al,(%rax)
14376  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14377  DB  0,75,0                              ; add           %cl,0x0(%rbx)
14378  DB  0,0                                 ; add           %al,(%rax)
14379  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
14380  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14381  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14382  DB  63                                  ; (bad)
14383  DB  0,0                                 ; add           %al,(%rax)
14384  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14385  DB  0,200                               ; add           %cl,%al
14386  DB  66,0,0                              ; rex.X         add %al,(%rax)
14387  DB  200,66,0,0                          ; enterq        $0x42,$0x0
14388  DB  200,66,0,0                          ; enterq        $0x42,$0x0
14389  DB  200,66,0,0                          ; enterq        $0x42,$0x0
14390  DB  127,67                              ; jg            4257 <.literal16+0x7f7>
14391  DB  0,0                                 ; add           %al,(%rax)
14392  DB  127,67                              ; jg            425b <.literal16+0x7fb>
14393  DB  0,0                                 ; add           %al,(%rax)
14394  DB  127,67                              ; jg            425f <.literal16+0x7ff>
14395  DB  0,0                                 ; add           %al,(%rax)
14396  DB  127,67                              ; jg            4263 <.literal16+0x803>
14397  DB  0,0                                 ; add           %al,(%rax)
14398  DB  0,195                               ; add           %al,%bl
14399  DB  0,0                                 ; add           %al,(%rax)
14400  DB  0,195                               ; add           %al,%bl
14401  DB  0,0                                 ; add           %al,(%rax)
14402  DB  0,195                               ; add           %al,%bl
14403  DB  0,0                                 ; add           %al,(%rax)
14404  DB  0,195                               ; add           %al,%bl
14405  DB  0,0                                 ; add           %al,(%rax)
14406  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
14407  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
14408  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
14409  DB  128,65,203,61                       ; addb          $0x3d,-0x35(%rcx)
14410  DB  13,60,203,61,13                     ; or            $0xd3dcb3c,%eax
14411  DB  60,203                              ; cmp           $0xcb,%al
14412  DB  61,13,60,203,61                     ; cmp           $0x3dcb3c0d,%eax
14413  DB  13,60,111,18,3                      ; or            $0x3126f3c,%eax
14414  DB  59,111,18                           ; cmp           0x12(%rdi),%ebp
14415  DB  3,59                                ; add           (%rbx),%edi
14416  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
14417  DB  18,3                                ; adc           (%rbx),%al
14418  DB  59,111,18                           ; cmp           0x12(%rdi),%ebp
14419  DB  3,59                                ; add           (%rbx),%edi
14420  DB  10,215                              ; or            %bh,%dl
14421  DB  163,59,10,215,163,59,10,215,163     ; movabs        %eax,0xa3d70a3ba3d70a3b
14422  DB  59,10                               ; cmp           (%rdx),%ecx
14423  DB  215                                 ; xlat          %ds:(%rbx)
14424  DB  163,59,194,24,17,60,194,24,17       ; movabs        %eax,0x1118c23c1118c23b
14425  DB  60,194                              ; cmp           $0xc2,%al
14426  DB  24,17                               ; sbb           %dl,(%rcx)
14427  DB  60,194                              ; cmp           $0xc2,%al
14428  DB  24,17                               ; sbb           %dl,(%rcx)
14429  DB  60,203                              ; cmp           $0xcb,%al
14430  DB  61,13,190,203,61                    ; cmp           $0x3dcbbe0d,%eax
14431  DB  13,190,203,61,13                    ; or            $0xd3dcbbe,%eax
14432  DB  190,203,61,13,190                   ; mov           $0xbe0d3dcb,%esi
14433  DB  80                                  ; push          %rax
14434  DB  128,3,62                            ; addb          $0x3e,(%rbx)
14435  DB  80                                  ; push          %rax
14436  DB  128,3,62                            ; addb          $0x3e,(%rbx)
14437  DB  80                                  ; push          %rax
14438  DB  128,3,62                            ; addb          $0x3e,(%rbx)
14439  DB  80                                  ; push          %rax
14440  DB  128,3,62                            ; addb          $0x3e,(%rbx)
14441  DB  31                                  ; (bad)
14442  DB  215                                 ; xlat          %ds:(%rbx)
14443  DB  118,63                              ; jbe           42e3 <.literal16+0x883>
14444  DB  31                                  ; (bad)
14445  DB  215                                 ; xlat          %ds:(%rbx)
14446  DB  118,63                              ; jbe           42e7 <.literal16+0x887>
14447  DB  31                                  ; (bad)
14448  DB  215                                 ; xlat          %ds:(%rbx)
14449  DB  118,63                              ; jbe           42eb <.literal16+0x88b>
14450  DB  31                                  ; (bad)
14451  DB  215                                 ; xlat          %ds:(%rbx)
14452  DB  118,63                              ; jbe           42ef <.literal16+0x88f>
14453  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
14454  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
14455  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
14456  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
14457  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14458  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
14459  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
14460  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14461  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
14462  DB  0,127,67                            ; add           %bh,0x43(%rdi)
14463  DB  0,0                                 ; add           %al,(%rax)
14464  DB  127,67                              ; jg            432b <.literal16+0x8cb>
14465  DB  0,0                                 ; add           %al,(%rax)
14466  DB  127,67                              ; jg            432f <.literal16+0x8cf>
14467  DB  0,0                                 ; add           %al,(%rax)
14468  DB  127,67                              ; jg            4333 <.literal16+0x8d3>
14469  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14470  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
14471  DB  128,128,59,0,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
14472  DB  0,0                                 ; add           %al,(%rax)
14473  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14474  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14475  DB  63                                  ; (bad)
14476  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14477  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
14478  DB  128,128,59,0,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
14479  DB  0,0                                 ; add           %al,(%rax)
14480  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14481  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14482  DB  63                                  ; (bad)
14483  DB  255,0                               ; incl          (%rax)
14484  DB  0,0                                 ; add           %al,(%rax)
14485  DB  255,0                               ; incl          (%rax)
14486  DB  0,0                                 ; add           %al,(%rax)
14487  DB  255,0                               ; incl          (%rax)
14488  DB  0,0                                 ; add           %al,(%rax)
14489  DB  255,0                               ; incl          (%rax)
14490  DB  0,0                                 ; add           %al,(%rax)
14491  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14492  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
14493  DB  128,128,59,1,255,255,255            ; addb          $0xff,-0xfec5(%rax)
14494  DB  5,255,255,255,9                     ; add           $0x9ffffff,%eax
14495  DB  255                                 ; (bad)
14496  DB  255                                 ; (bad)
14497  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3004360 <_sk_callback_sse41+0x30009b2>
14498  DB  255                                 ; (bad)
14499  DB  255                                 ; (bad)
14500  DB  255,6                               ; incl          (%rsi)
14501  DB  255                                 ; (bad)
14502  DB  255                                 ; (bad)
14503  DB  255,10                              ; decl          (%rdx)
14504  DB  255                                 ; (bad)
14505  DB  255                                 ; (bad)
14506  DB  255,14                              ; decl          (%rsi)
14507  DB  255                                 ; (bad)
14508  DB  255                                 ; (bad)
14509  DB  255,0                               ; incl          (%rax)
14510  DB  248                                 ; clc
14511  DB  0,0                                 ; add           %al,(%rax)
14512  DB  0,248                               ; add           %bh,%al
14513  DB  0,0                                 ; add           %al,(%rax)
14514  DB  0,248                               ; add           %bh,%al
14515  DB  0,0                                 ; add           %al,(%rax)
14516  DB  0,248                               ; add           %bh,%al
14517  DB  0,0                                 ; add           %al,(%rax)
14518  DB  8,33                                ; or            %ah,(%rcx)
14519  DB  132,55                              ; test          %dh,(%rdi)
14520  DB  8,33                                ; or            %ah,(%rcx)
14521  DB  132,55                              ; test          %dh,(%rdi)
14522  DB  8,33                                ; or            %ah,(%rcx)
14523  DB  132,55                              ; test          %dh,(%rdi)
14524  DB  8,33                                ; or            %ah,(%rcx)
14525  DB  132,55                              ; test          %dh,(%rdi)
14526  DB  224,7                               ; loopne        4399 <.literal16+0x939>
14527  DB  0,0                                 ; add           %al,(%rax)
14528  DB  224,7                               ; loopne        439d <.literal16+0x93d>
14529  DB  0,0                                 ; add           %al,(%rax)
14530  DB  224,7                               ; loopne        43a1 <.literal16+0x941>
14531  DB  0,0                                 ; add           %al,(%rax)
14532  DB  224,7                               ; loopne        43a5 <.literal16+0x945>
14533  DB  0,0                                 ; add           %al,(%rax)
14534  DB  33,8                                ; and           %ecx,(%rax)
14535  DB  2,58                                ; add           (%rdx),%bh
14536  DB  33,8                                ; and           %ecx,(%rax)
14537  DB  2,58                                ; add           (%rdx),%bh
14538  DB  33,8                                ; and           %ecx,(%rax)
14539  DB  2,58                                ; add           (%rdx),%bh
14540  DB  33,8                                ; and           %ecx,(%rax)
14541  DB  2,58                                ; add           (%rdx),%bh
14542  DB  31                                  ; (bad)
14543  DB  0,0                                 ; add           %al,(%rax)
14544  DB  0,31                                ; add           %bl,(%rdi)
14545  DB  0,0                                 ; add           %al,(%rax)
14546  DB  0,31                                ; add           %bl,(%rdi)
14547  DB  0,0                                 ; add           %al,(%rax)
14548  DB  0,31                                ; add           %bl,(%rdi)
14549  DB  0,0                                 ; add           %al,(%rax)
14550  DB  0,8                                 ; add           %cl,(%rax)
14551  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%rdi,1)
14552  DB  8,33                                ; or            %ah,(%rcx)
14553  DB  4,61                                ; add           $0x3d,%al
14554  DB  8,33                                ; or            %ah,(%rcx)
14555  DB  4,61                                ; add           $0x3d,%al
14556  DB  0,0                                 ; add           %al,(%rax)
14557  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14558  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14559  DB  63                                  ; (bad)
14560  DB  0,0                                 ; add           %al,(%rax)
14561  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14562  DB  248                                 ; clc
14563  DB  0,0                                 ; add           %al,(%rax)
14564  DB  0,248                               ; add           %bh,%al
14565  DB  0,0                                 ; add           %al,(%rax)
14566  DB  0,248                               ; add           %bh,%al
14567  DB  0,0                                 ; add           %al,(%rax)
14568  DB  0,248                               ; add           %bh,%al
14569  DB  0,0                                 ; add           %al,(%rax)
14570  DB  8,33                                ; or            %ah,(%rcx)
14571  DB  132,55                              ; test          %dh,(%rdi)
14572  DB  8,33                                ; or            %ah,(%rcx)
14573  DB  132,55                              ; test          %dh,(%rdi)
14574  DB  8,33                                ; or            %ah,(%rcx)
14575  DB  132,55                              ; test          %dh,(%rdi)
14576  DB  8,33                                ; or            %ah,(%rcx)
14577  DB  132,55                              ; test          %dh,(%rdi)
14578  DB  224,7                               ; loopne        4409 <.literal16+0x9a9>
14579  DB  0,0                                 ; add           %al,(%rax)
14580  DB  224,7                               ; loopne        440d <.literal16+0x9ad>
14581  DB  0,0                                 ; add           %al,(%rax)
14582  DB  224,7                               ; loopne        4411 <.literal16+0x9b1>
14583  DB  0,0                                 ; add           %al,(%rax)
14584  DB  224,7                               ; loopne        4415 <.literal16+0x9b5>
14585  DB  0,0                                 ; add           %al,(%rax)
14586  DB  33,8                                ; and           %ecx,(%rax)
14587  DB  2,58                                ; add           (%rdx),%bh
14588  DB  33,8                                ; and           %ecx,(%rax)
14589  DB  2,58                                ; add           (%rdx),%bh
14590  DB  33,8                                ; and           %ecx,(%rax)
14591  DB  2,58                                ; add           (%rdx),%bh
14592  DB  33,8                                ; and           %ecx,(%rax)
14593  DB  2,58                                ; add           (%rdx),%bh
14594  DB  31                                  ; (bad)
14595  DB  0,0                                 ; add           %al,(%rax)
14596  DB  0,31                                ; add           %bl,(%rdi)
14597  DB  0,0                                 ; add           %al,(%rax)
14598  DB  0,31                                ; add           %bl,(%rdi)
14599  DB  0,0                                 ; add           %al,(%rax)
14600  DB  0,31                                ; add           %bl,(%rdi)
14601  DB  0,0                                 ; add           %al,(%rax)
14602  DB  0,8                                 ; add           %cl,(%rax)
14603  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%rdi,1)
14604  DB  8,33                                ; or            %ah,(%rcx)
14605  DB  4,61                                ; add           $0x3d,%al
14606  DB  8,33                                ; or            %ah,(%rcx)
14607  DB  4,61                                ; add           $0x3d,%al
14608  DB  0,0                                 ; add           %al,(%rax)
14609  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14610  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14611  DB  63                                  ; (bad)
14612  DB  0,0                                 ; add           %al,(%rax)
14613  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14614  DB  0,248                               ; add           %bh,%al
14615  DB  65,0,0                              ; add           %al,(%r8)
14616  DB  248                                 ; clc
14617  DB  65,0,0                              ; add           %al,(%r8)
14618  DB  248                                 ; clc
14619  DB  65,0,0                              ; add           %al,(%r8)
14620  DB  248                                 ; clc
14621  DB  65,0,0                              ; add           %al,(%r8)
14622  DB  124,66                              ; jl            44a6 <.literal16+0xa46>
14623  DB  0,0                                 ; add           %al,(%rax)
14624  DB  124,66                              ; jl            44aa <.literal16+0xa4a>
14625  DB  0,0                                 ; add           %al,(%rax)
14626  DB  124,66                              ; jl            44ae <.literal16+0xa4e>
14627  DB  0,0                                 ; add           %al,(%rax)
14628  DB  124,66                              ; jl            44b2 <.literal16+0xa52>
14629  DB  0,240                               ; add           %dh,%al
14630  DB  0,0                                 ; add           %al,(%rax)
14631  DB  0,240                               ; add           %dh,%al
14632  DB  0,0                                 ; add           %al,(%rax)
14633  DB  0,240                               ; add           %dh,%al
14634  DB  0,0                                 ; add           %al,(%rax)
14635  DB  0,240                               ; add           %dh,%al
14636  DB  0,0                                 ; add           %al,(%rax)
14637  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
14638  DB  136,55                              ; mov           %dh,(%rdi)
14639  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
14640  DB  136,55                              ; mov           %dh,(%rdi)
14641  DB  0,15                                ; add           %cl,(%rdi)
14642  DB  0,0                                 ; add           %al,(%rax)
14643  DB  0,15                                ; add           %cl,(%rdi)
14644  DB  0,0                                 ; add           %al,(%rax)
14645  DB  0,15                                ; add           %cl,(%rdi)
14646  DB  0,0                                 ; add           %al,(%rax)
14647  DB  0,15                                ; add           %cl,(%rdi)
14648  DB  0,0                                 ; add           %al,(%rax)
14649  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
14650  DB  136,57                              ; mov           %bh,(%rcx)
14651  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
14652  DB  136,57                              ; mov           %bh,(%rcx)
14653  DB  240,0,0                             ; lock          add %al,(%rax)
14654  DB  0,240                               ; add           %dh,%al
14655  DB  0,0                                 ; add           %al,(%rax)
14656  DB  0,240                               ; add           %dh,%al
14657  DB  0,0                                 ; add           %al,(%rax)
14658  DB  0,240                               ; add           %dh,%al
14659  DB  0,0                                 ; add           %al,(%rax)
14660  DB  0,137,136,136,59,137                ; add           %cl,-0x76c47778(%rcx)
14661  DB  136,136,59,137,136,136              ; mov           %cl,-0x777776c5(%rax)
14662  DB  59,137,136,136,59,15                ; cmp           0xf3b8888(%rcx),%ecx
14663  DB  0,0                                 ; add           %al,(%rax)
14664  DB  0,15                                ; add           %cl,(%rdi)
14665  DB  0,0                                 ; add           %al,(%rax)
14666  DB  0,15                                ; add           %cl,(%rdi)
14667  DB  0,0                                 ; add           %al,(%rax)
14668  DB  0,15                                ; add           %cl,(%rdi)
14669  DB  0,0                                 ; add           %al,(%rax)
14670  DB  0,137,136,136,61,137                ; add           %cl,-0x76c27778(%rcx)
14671  DB  136,136,61,137,136,136              ; mov           %cl,-0x777776c3(%rax)
14672  DB  61,137,136,136,61                   ; cmp           $0x3d888889,%eax
14673  DB  0,240                               ; add           %dh,%al
14674  DB  0,0                                 ; add           %al,(%rax)
14675  DB  0,240                               ; add           %dh,%al
14676  DB  0,0                                 ; add           %al,(%rax)
14677  DB  0,240                               ; add           %dh,%al
14678  DB  0,0                                 ; add           %al,(%rax)
14679  DB  0,240                               ; add           %dh,%al
14680  DB  0,0                                 ; add           %al,(%rax)
14681  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
14682  DB  136,55                              ; mov           %dh,(%rdi)
14683  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
14684  DB  136,55                              ; mov           %dh,(%rdi)
14685  DB  0,15                                ; add           %cl,(%rdi)
14686  DB  0,0                                 ; add           %al,(%rax)
14687  DB  0,15                                ; add           %cl,(%rdi)
14688  DB  0,0                                 ; add           %al,(%rax)
14689  DB  0,15                                ; add           %cl,(%rdi)
14690  DB  0,0                                 ; add           %al,(%rax)
14691  DB  0,15                                ; add           %cl,(%rdi)
14692  DB  0,0                                 ; add           %al,(%rax)
14693  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
14694  DB  136,57                              ; mov           %bh,(%rcx)
14695  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
14696  DB  136,57                              ; mov           %bh,(%rcx)
14697  DB  240,0,0                             ; lock          add %al,(%rax)
14698  DB  0,240                               ; add           %dh,%al
14699  DB  0,0                                 ; add           %al,(%rax)
14700  DB  0,240                               ; add           %dh,%al
14701  DB  0,0                                 ; add           %al,(%rax)
14702  DB  0,240                               ; add           %dh,%al
14703  DB  0,0                                 ; add           %al,(%rax)
14704  DB  0,137,136,136,59,137                ; add           %cl,-0x76c47778(%rcx)
14705  DB  136,136,59,137,136,136              ; mov           %cl,-0x777776c5(%rax)
14706  DB  59,137,136,136,59,15                ; cmp           0xf3b8888(%rcx),%ecx
14707  DB  0,0                                 ; add           %al,(%rax)
14708  DB  0,15                                ; add           %cl,(%rdi)
14709  DB  0,0                                 ; add           %al,(%rax)
14710  DB  0,15                                ; add           %cl,(%rdi)
14711  DB  0,0                                 ; add           %al,(%rax)
14712  DB  0,15                                ; add           %cl,(%rdi)
14713  DB  0,0                                 ; add           %al,(%rax)
14714  DB  0,137,136,136,61,137                ; add           %cl,-0x76c27778(%rcx)
14715  DB  136,136,61,137,136,136              ; mov           %cl,-0x777776c3(%rax)
14716  DB  61,137,136,136,61                   ; cmp           $0x3d888889,%eax
14717  DB  0,0                                 ; add           %al,(%rax)
14718  DB  112,65                              ; jo            45b5 <.literal16+0xb55>
14719  DB  0,0                                 ; add           %al,(%rax)
14720  DB  112,65                              ; jo            45b9 <.literal16+0xb59>
14721  DB  0,0                                 ; add           %al,(%rax)
14722  DB  112,65                              ; jo            45bd <.literal16+0xb5d>
14723  DB  0,0                                 ; add           %al,(%rax)
14724  DB  112,65                              ; jo            45c1 <.literal16+0xb61>
14725  DB  255,0                               ; incl          (%rax)
14726  DB  0,0                                 ; add           %al,(%rax)
14727  DB  255,0                               ; incl          (%rax)
14728  DB  0,0                                 ; add           %al,(%rax)
14729  DB  255,0                               ; incl          (%rax)
14730  DB  0,0                                 ; add           %al,(%rax)
14731  DB  255,0                               ; incl          (%rax)
14732  DB  0,0                                 ; add           %al,(%rax)
14733  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14734  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
14735  DB  128,128,59,1,255,255,255            ; addb          $0xff,-0xfec5(%rax)
14736  DB  5,255,255,255,9                     ; add           $0x9ffffff,%eax
14737  DB  255                                 ; (bad)
14738  DB  255                                 ; (bad)
14739  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 30045b0 <_sk_callback_sse41+0x3000c02>
14740  DB  255                                 ; (bad)
14741  DB  255                                 ; (bad)
14742  DB  255,6                               ; incl          (%rsi)
14743  DB  255                                 ; (bad)
14744  DB  255                                 ; (bad)
14745  DB  255,10                              ; decl          (%rdx)
14746  DB  255                                 ; (bad)
14747  DB  255                                 ; (bad)
14748  DB  255,14                              ; decl          (%rsi)
14749  DB  255                                 ; (bad)
14750  DB  255                                 ; (bad)
14751  DB  255                                 ; (bad)
14752  DB  255,0                               ; incl          (%rax)
14753  DB  0,0                                 ; add           %al,(%rax)
14754  DB  255,0                               ; incl          (%rax)
14755  DB  0,0                                 ; add           %al,(%rax)
14756  DB  255,0                               ; incl          (%rax)
14757  DB  0,0                                 ; add           %al,(%rax)
14758  DB  255,0                               ; incl          (%rax)
14759  DB  0,0                                 ; add           %al,(%rax)
14760  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
14761  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
14762  DB  128,128,59,1,255,255,255            ; addb          $0xff,-0xfec5(%rax)
14763  DB  5,255,255,255,9                     ; add           $0x9ffffff,%eax
14764  DB  255                                 ; (bad)
14765  DB  255                                 ; (bad)
14766  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 30045f0 <_sk_callback_sse41+0x3000c42>
14767  DB  255                                 ; (bad)
14768  DB  255                                 ; (bad)
14769  DB  255,6                               ; incl          (%rsi)
14770  DB  255                                 ; (bad)
14771  DB  255                                 ; (bad)
14772  DB  255,10                              ; decl          (%rdx)
14773  DB  255                                 ; (bad)
14774  DB  255                                 ; (bad)
14775  DB  255,14                              ; decl          (%rsi)
14776  DB  255                                 ; (bad)
14777  DB  255                                 ; (bad)
14778  DB  255,0                               ; incl          (%rax)
14779  DB  0,127,67                            ; add           %bh,0x43(%rdi)
14780  DB  0,0                                 ; add           %al,(%rax)
14781  DB  127,67                              ; jg            464b <.literal16+0xbeb>
14782  DB  0,0                                 ; add           %al,(%rax)
14783  DB  127,67                              ; jg            464f <.literal16+0xbef>
14784  DB  0,0                                 ; add           %al,(%rax)
14785  DB  127,67                              ; jg            4653 <.literal16+0xbf3>
14786  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
14787  DB  0,0                                 ; add           %al,(%rax)
14788  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
14789  DB  0,0                                 ; add           %al,(%rax)
14790  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
14791  DB  0,0                                 ; add           %al,(%rax)
14792  DB  4,0                                 ; add           $0x0,%al
14793  DB  0,0                                 ; add           %al,(%rax)
14794  DB  4,0                                 ; add           $0x0,%al
14795  DB  0,0                                 ; add           %al,(%rax)
14796  DB  4,0                                 ; add           $0x0,%al
14797  DB  0,0                                 ; add           %al,(%rax)
14798  DB  0,0                                 ; add           %al,(%rax)
14799  DB  56,0                                ; cmp           %al,(%rax)
14800  DB  0,0                                 ; add           %al,(%rax)
14801  DB  56,0                                ; cmp           %al,(%rax)
14802  DB  0,0                                 ; add           %al,(%rax)
14803  DB  56,0                                ; cmp           %al,(%rax)
14804  DB  0,0                                 ; add           %al,(%rax)
14805  DB  56,0                                ; cmp           %al,(%rax)
14806  DB  128,0,0                             ; addb          $0x0,(%rax)
14807  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
14808  DB  0,0                                 ; add           %al,(%rax)
14809  DB  0,128,0,0,0,4                       ; add           %al,0x4000000(%rax)
14810  DB  0,0                                 ; add           %al,(%rax)
14811  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
14812  DB  0,0                                 ; add           %al,(%rax)
14813  DB  4,0                                 ; add           $0x0,%al
14814  DB  0,0                                 ; add           %al,(%rax)
14815  DB  4,0                                 ; add           $0x0,%al
14816  DB  0,0                                 ; add           %al,(%rax)
14817  DB  0,0                                 ; add           %al,(%rax)
14818  DB  56,0                                ; cmp           %al,(%rax)
14819  DB  0,0                                 ; add           %al,(%rax)
14820  DB  56,0                                ; cmp           %al,(%rax)
14821  DB  0,0                                 ; add           %al,(%rax)
14822  DB  56,0                                ; cmp           %al,(%rax)
14823  DB  0,0                                 ; add           %al,(%rax)
14824  DB  56,0                                ; cmp           %al,(%rax)
14825  DB  0,0                                 ; add           %al,(%rax)
14826  DB  128,0,0                             ; addb          $0x0,(%rax)
14827  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
14828  DB  0,0                                 ; add           %al,(%rax)
14829  DB  0,128,0,0,128,56                    ; add           %al,0x38800000(%rax)
14830  DB  0,0                                 ; add           %al,(%rax)
14831  DB  128,56,0                            ; cmpb          $0x0,(%rax)
14832  DB  0,128,56,0,0,128                    ; add           %al,-0x7fffffc8(%rax)
14833  DB  56,0                                ; cmp           %al,(%rax)
14834  DB  64,254                              ; rex           (bad)
14835  DB  255,0                               ; incl          (%rax)
14836  DB  64,254                              ; rex           (bad)
14837  DB  255,0                               ; incl          (%rax)
14838  DB  64,254                              ; rex           (bad)
14839  DB  255,0                               ; incl          (%rax)
14840  DB  64,254                              ; rex           (bad)
14841  DB  255,128,0,128,55,128                ; incl          -0x7fc88000(%rax)
14842  DB  0,128,55,128,0,128                  ; add           %al,-0x7fff7fc9(%rax)
14843  DB  55                                  ; (bad)
14844  DB  128,0,128                           ; addb          $0x80,(%rax)
14845  DB  55                                  ; (bad)
14846  DB  128,0,128                           ; addb          $0x80,(%rax)
14847  DB  55                                  ; (bad)
14848  DB  128,0,128                           ; addb          $0x80,(%rax)
14849  DB  55                                  ; (bad)
14850  DB  128,0,128                           ; addb          $0x80,(%rax)
14851  DB  55                                  ; (bad)
14852  DB  128,0,128                           ; addb          $0x80,(%rax)
14853  DB  55                                  ; (bad)
14854  DB  0,0                                 ; add           %al,(%rax)
14855  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14856  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14857  DB  63                                  ; (bad)
14858  DB  0,0                                 ; add           %al,(%rax)
14859  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14860  DB  255                                 ; (bad)
14861  DB  127,71                              ; jg            471b <.literal16+0xcbb>
14862  DB  0,255                               ; add           %bh,%bh
14863  DB  127,71                              ; jg            471f <.literal16+0xcbf>
14864  DB  0,255                               ; add           %bh,%bh
14865  DB  127,71                              ; jg            4723 <.literal16+0xcc3>
14866  DB  0,255                               ; add           %bh,%bh
14867  DB  127,71                              ; jg            4727 <.literal16+0xcc7>
14868  DB  208                                 ; (bad)
14869  DB  179,89                              ; mov           $0x59,%bl
14870  DB  62,208                              ; ds            (bad)
14871  DB  179,89                              ; mov           $0x59,%bl
14872  DB  62,208                              ; ds            (bad)
14873  DB  179,89                              ; mov           $0x59,%bl
14874  DB  62,208                              ; ds            (bad)
14875  DB  179,89                              ; mov           $0x59,%bl
14876  DB  62,89                               ; ds            pop %rcx
14877  DB  23                                  ; (bad)
14878  DB  55                                  ; (bad)
14879  DB  63                                  ; (bad)
14880  DB  89                                  ; pop           %rcx
14881  DB  23                                  ; (bad)
14882  DB  55                                  ; (bad)
14883  DB  63                                  ; (bad)
14884  DB  89                                  ; pop           %rcx
14885  DB  23                                  ; (bad)
14886  DB  55                                  ; (bad)
14887  DB  63                                  ; (bad)
14888  DB  89                                  ; pop           %rcx
14889  DB  23                                  ; (bad)
14890  DB  55                                  ; (bad)
14891  DB  63                                  ; (bad)
14892  DB  152                                 ; cwtl
14893  DB  221,147,61,152,221,147              ; fstl          -0x6c2267c3(%rbx)
14894  DB  61,152,221,147,61                   ; cmp           $0x3d93dd98,%eax
14895  DB  152                                 ; cwtl
14896  DB  221,147,61,111,43,231               ; fstl          -0x18d490c3(%rbx)
14897  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
14898  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
14899  DB  43,231                              ; sub           %edi,%esp
14900  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
14901  DB  159                                 ; lahf
14902  DB  215                                 ; xlat          %ds:(%rbx)
14903  DB  202,60,159                          ; lret          $0x9f3c
14904  DB  215                                 ; xlat          %ds:(%rbx)
14905  DB  202,60,159                          ; lret          $0x9f3c
14906  DB  215                                 ; xlat          %ds:(%rbx)
14907  DB  202,60,159                          ; lret          $0x9f3c
14908  DB  215                                 ; xlat          %ds:(%rbx)
14909  DB  202,60,212                          ; lret          $0xd43c
14910  DB  100,84                              ; fs            push %rsp
14911  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
14912  DB  212                                 ; (bad)
14913  DB  100,84                              ; fs            push %rsp
14914  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
14915  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
14916  DB  240,34,62                           ; lock          and (%rsi),%bh
14917  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
14918  DB  240,34,62                           ; lock          and (%rsi),%bh
14919  DB  0,0                                 ; add           %al,(%rax)
14920  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
14921  DB  0,128,62,0,0,128                    ; add           %al,-0x7fffffc2(%rax)
14922  DB  62,0,0                              ; add           %al,%ds:(%rax)
14923  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
14924  DB  0,0                                 ; add           %al,(%rax)
14925  DB  63                                  ; (bad)
14926  DB  0,0                                 ; add           %al,(%rax)
14927  DB  0,63                                ; add           %bh,(%rdi)
14928  DB  0,0                                 ; add           %al,(%rax)
14929  DB  0,63                                ; add           %bh,(%rdi)
14930  DB  0,0                                 ; add           %al,(%rax)
14931  DB  0,63                                ; add           %bh,(%rdi)
14932  DB  0,0                                 ; add           %al,(%rax)
14933  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14934  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14935  DB  63                                  ; (bad)
14936  DB  0,0                                 ; add           %al,(%rax)
14937  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14938  DB  0,0                                 ; add           %al,(%rax)
14939  DB  63                                  ; (bad)
14940  DB  0,0                                 ; add           %al,(%rax)
14941  DB  0,63                                ; add           %bh,(%rdi)
14942  DB  0,0                                 ; add           %al,(%rax)
14943  DB  0,63                                ; add           %bh,(%rdi)
14944  DB  0,0                                 ; add           %al,(%rax)
14945  DB  0,63                                ; add           %bh,(%rdi)
14946  DB  0,0                                 ; add           %al,(%rax)
14947  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
14948  DB  0,0                                 ; add           %al,(%rax)
14949  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
14950  DB  0,0                                 ; add           %al,(%rax)
14951  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14952  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14953  DB  63                                  ; (bad)
14954  DB  0,0                                 ; add           %al,(%rax)
14955  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14956  DB  0,0                                 ; add           %al,(%rax)
14957  DB  63                                  ; (bad)
14958  DB  0,0                                 ; add           %al,(%rax)
14959  DB  0,63                                ; add           %bh,(%rdi)
14960  DB  0,0                                 ; add           %al,(%rax)
14961  DB  0,63                                ; add           %bh,(%rdi)
14962  DB  0,0                                 ; add           %al,(%rax)
14963  DB  0,63                                ; add           %bh,(%rdi)
14964  DB  0,0                                 ; add           %al,(%rax)
14965  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
14966  DB  0,0                                 ; add           %al,(%rax)
14967  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
14968  DB  0,0                                 ; add           %al,(%rax)
14969  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14970  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14971  DB  63                                  ; (bad)
14972  DB  0,0                                 ; add           %al,(%rax)
14973  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14974  DB  0,0                                 ; add           %al,(%rax)
14975  DB  63                                  ; (bad)
14976  DB  0,0                                 ; add           %al,(%rax)
14977  DB  0,63                                ; add           %bh,(%rdi)
14978  DB  0,0                                 ; add           %al,(%rax)
14979  DB  0,63                                ; add           %bh,(%rdi)
14980  DB  0,0                                 ; add           %al,(%rax)
14981  DB  0,63                                ; add           %bh,(%rdi)
14982  DB  0,0                                 ; add           %al,(%rax)
14983  DB  192,191,0,0,192,191,0               ; sarb          $0x0,-0x40400000(%rdi)
14984  DB  0,192                               ; add           %al,%al
14985  DB  191,0,0,192,191                     ; mov           $0xbfc00000,%edi
14986  DB  0,0                                 ; add           %al,(%rax)
14987  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
14988  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
14989  DB  63                                  ; (bad)
14990  DB  0,0                                 ; add           %al,(%rax)
14991  DB  128,63,114                          ; cmpb          $0x72,(%rdi)
14992  DB  28,199                              ; sbb           $0xc7,%al
14993  DB  62,114,28                           ; jb,pt         4832 <.literal16+0xdd2>
14994  DB  199                                 ; (bad)
14995  DB  62,114,28                           ; jb,pt         4836 <.literal16+0xdd6>
14996  DB  199                                 ; (bad)
14997  DB  62,114,28                           ; jb,pt         483a <.literal16+0xdda>
14998  DB  199                                 ; (bad)
14999  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
15000  DB  170                                 ; stos          %al,%es:(%rdi)
15001  DB  170                                 ; stos          %al,%es:(%rdi)
15002  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15003  DB  171                                 ; stos          %eax,%es:(%rdi)
15004  DB  170                                 ; stos          %al,%es:(%rdi)
15005  DB  170                                 ; stos          %al,%es:(%rdi)
15006  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15007  DB  0,0                                 ; add           %al,(%rax)
15008  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
15009  DB  0,0                                 ; add           %al,(%rax)
15010  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
15011  DB  0,0                                 ; add           %al,(%rax)
15012  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
15013  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
15014  DB  63                                  ; (bad)
15015  DB  0,0                                 ; add           %al,(%rax)
15016  DB  128,63,85                           ; cmpb          $0x55,(%rdi)
15017  DB  85                                  ; push          %rbp
15018  DB  149                                 ; xchg          %eax,%ebp
15019  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15020  DB  85                                  ; push          %rbp
15021  DB  85                                  ; push          %rbp
15022  DB  149                                 ; xchg          %eax,%ebp
15023  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15024  DB  0,0                                 ; add           %al,(%rax)
15025  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15026  DB  0,192                               ; add           %al,%al
15027  DB  63                                  ; (bad)
15028  DB  0,0                                 ; add           %al,(%rax)
15029  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15030  DB  0,192                               ; add           %al,%al
15031  DB  63                                  ; (bad)
15032  DB  0,0                                 ; add           %al,(%rax)
15033  DB  0,63                                ; add           %bh,(%rdi)
15034  DB  0,0                                 ; add           %al,(%rax)
15035  DB  0,63                                ; add           %bh,(%rdi)
15036  DB  0,0                                 ; add           %al,(%rax)
15037  DB  0,63                                ; add           %bh,(%rdi)
15038  DB  0,0                                 ; add           %al,(%rax)
15039  DB  0,63                                ; add           %bh,(%rdi)
15040  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
15041  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63d6c5 <_sk_callback_sse41+0x3d639d17>
15042  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
15043  DB  0,63                                ; add           %bh,(%rdi)
15044  DB  0,0                                 ; add           %al,(%rax)
15045  DB  0,63                                ; add           %bh,(%rdi)
15046  DB  0,0                                 ; add           %al,(%rax)
15047  DB  0,63                                ; add           %bh,(%rdi)
15048  DB  0,0                                 ; add           %al,(%rax)
15049  DB  0,63                                ; add           %bh,(%rdi)
15050  DB  85                                  ; push          %rbp
15051  DB  85                                  ; push          %rbp
15052  DB  149                                 ; xchg          %eax,%ebp
15053  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15054  DB  85                                  ; push          %rbp
15055  DB  85                                  ; push          %rbp
15056  DB  149                                 ; xchg          %eax,%ebp
15057  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15058  DB  0,0                                 ; add           %al,(%rax)
15059  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15060  DB  0,192                               ; add           %al,%al
15061  DB  63                                  ; (bad)
15062  DB  0,0                                 ; add           %al,(%rax)
15063  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15064  DB  0,192                               ; add           %al,%al
15065  DB  63                                  ; (bad)
15066  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
15067  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63d705 <_sk_callback_sse41+0x3d639d57>
15068  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
15069  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15070  DB  0,192                               ; add           %al,%al
15071  DB  63                                  ; (bad)
15072  DB  0,0                                 ; add           %al,(%rax)
15073  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15074  DB  0,192                               ; add           %al,%al
15075  DB  63                                  ; (bad)
15076  DB  114,28                              ; jb            48fe <.literal16+0xe9e>
15077  DB  199                                 ; (bad)
15078  DB  62,114,28                           ; jb,pt         4902 <.literal16+0xea2>
15079  DB  199                                 ; (bad)
15080  DB  62,114,28                           ; jb,pt         4906 <.literal16+0xea6>
15081  DB  199                                 ; (bad)
15082  DB  62,114,28                           ; jb,pt         490a <.literal16+0xeaa>
15083  DB  199                                 ; (bad)
15084  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
15085  DB  170                                 ; stos          %al,%es:(%rdi)
15086  DB  170                                 ; stos          %al,%es:(%rdi)
15087  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15088  DB  171                                 ; stos          %eax,%es:(%rdi)
15089  DB  170                                 ; stos          %al,%es:(%rdi)
15090  DB  170                                 ; stos          %al,%es:(%rdi)
15091  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15092  DB  0,0                                 ; add           %al,(%rax)
15093  DB  192,191,0,0,192,191,0               ; sarb          $0x0,-0x40400000(%rdi)
15094  DB  0,192                               ; add           %al,%al
15095  DB  191,0,0,192,191                     ; mov           $0xbfc00000,%edi
15096  DB  0,0                                 ; add           %al,(%rax)
15097  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
15098  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
15099  DB  63                                  ; (bad)
15100  DB  0,0                                 ; add           %al,(%rax)
15101  DB  128,63,114                          ; cmpb          $0x72,(%rdi)
15102  DB  28,199                              ; sbb           $0xc7,%al
15103  DB  62,114,28                           ; jb,pt         4942 <.literal16+0xee2>
15104  DB  199                                 ; (bad)
15105  DB  62,114,28                           ; jb,pt         4946 <.literal16+0xee6>
15106  DB  199                                 ; (bad)
15107  DB  62,114,28                           ; jb,pt         494a <.literal16+0xeea>
15108  DB  199                                 ; (bad)
15109  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
15110  DB  170                                 ; stos          %al,%es:(%rdi)
15111  DB  170                                 ; stos          %al,%es:(%rdi)
15112  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15113  DB  171                                 ; stos          %eax,%es:(%rdi)
15114  DB  170                                 ; stos          %al,%es:(%rdi)
15115  DB  170                                 ; stos          %al,%es:(%rdi)
15116  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15117  DB  0,0                                 ; add           %al,(%rax)
15118  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
15119  DB  0,0                                 ; add           %al,(%rax)
15120  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
15121  DB  0,0                                 ; add           %al,(%rax)
15122  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
15123  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
15124  DB  63                                  ; (bad)
15125  DB  0,0                                 ; add           %al,(%rax)
15126  DB  128,63,85                           ; cmpb          $0x55,(%rdi)
15127  DB  85                                  ; push          %rbp
15128  DB  149                                 ; xchg          %eax,%ebp
15129  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15130  DB  85                                  ; push          %rbp
15131  DB  85                                  ; push          %rbp
15132  DB  149                                 ; xchg          %eax,%ebp
15133  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15134  DB  0,0                                 ; add           %al,(%rax)
15135  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15136  DB  0,192                               ; add           %al,%al
15137  DB  63                                  ; (bad)
15138  DB  0,0                                 ; add           %al,(%rax)
15139  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15140  DB  0,192                               ; add           %al,%al
15141  DB  63                                  ; (bad)
15142  DB  0,0                                 ; add           %al,(%rax)
15143  DB  0,63                                ; add           %bh,(%rdi)
15144  DB  0,0                                 ; add           %al,(%rax)
15145  DB  0,63                                ; add           %bh,(%rdi)
15146  DB  0,0                                 ; add           %al,(%rax)
15147  DB  0,63                                ; add           %bh,(%rdi)
15148  DB  0,0                                 ; add           %al,(%rax)
15149  DB  0,63                                ; add           %bh,(%rdi)
15150  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
15151  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63d7d5 <_sk_callback_sse41+0x3d639e27>
15152  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
15153  DB  0,63                                ; add           %bh,(%rdi)
15154  DB  0,0                                 ; add           %al,(%rax)
15155  DB  0,63                                ; add           %bh,(%rdi)
15156  DB  0,0                                 ; add           %al,(%rax)
15157  DB  0,63                                ; add           %bh,(%rdi)
15158  DB  0,0                                 ; add           %al,(%rax)
15159  DB  0,63                                ; add           %bh,(%rdi)
15160  DB  85                                  ; push          %rbp
15161  DB  85                                  ; push          %rbp
15162  DB  149                                 ; xchg          %eax,%ebp
15163  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15164  DB  85                                  ; push          %rbp
15165  DB  85                                  ; push          %rbp
15166  DB  149                                 ; xchg          %eax,%ebp
15167  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
15168  DB  0,0                                 ; add           %al,(%rax)
15169  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15170  DB  0,192                               ; add           %al,%al
15171  DB  63                                  ; (bad)
15172  DB  0,0                                 ; add           %al,(%rax)
15173  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15174  DB  0,192                               ; add           %al,%al
15175  DB  63                                  ; (bad)
15176  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
15177  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63d815 <_sk_callback_sse41+0x3d639e67>
15178  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
15179  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15180  DB  0,192                               ; add           %al,%al
15181  DB  63                                  ; (bad)
15182  DB  0,0                                 ; add           %al,(%rax)
15183  DB  192,63,0                            ; sarb          $0x0,(%rdi)
15184  DB  0,192                               ; add           %al,%al
15185  DB  63                                  ; (bad)
15186  DB  114,28                              ; jb            4a0e <.literal16+0xfae>
15187  DB  199                                 ; (bad)
15188  DB  62,114,28                           ; jb,pt         4a12 <_sk_callback_sse41+0x1064>
15189  DB  199                                 ; (bad)
15190  DB  62,114,28                           ; jb,pt         4a16 <_sk_callback_sse41+0x1068>
15191  DB  199                                 ; (bad)
15192  DB  62,114,28                           ; jb,pt         4a1a <_sk_callback_sse41+0x106c>
15193  DB  199                                 ; (bad)
15194  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
15195  DB  170                                 ; stos          %al,%es:(%rdi)
15196  DB  170                                 ; stos          %al,%es:(%rdi)
15197  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15198  DB  171                                 ; stos          %eax,%es:(%rdi)
15199  DB  170                                 ; stos          %al,%es:(%rdi)
15200  DB  170                                 ; stos          %al,%es:(%rdi)
15201  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
15202ALIGN 32
15203
15204PUBLIC _sk_start_pipeline_sse2
15205_sk_start_pipeline_sse2 LABEL PROC
15206  DB  65,87                               ; push          %r15
15207  DB  65,86                               ; push          %r14
15208  DB  65,85                               ; push          %r13
15209  DB  65,84                               ; push          %r12
15210  DB  86                                  ; push          %rsi
15211  DB  87                                  ; push          %rdi
15212  DB  83                                  ; push          %rbx
15213  DB  72,129,236,160,0,0,0                ; sub           $0xa0,%rsp
15214  DB  68,15,41,188,36,144,0,0,0           ; movaps        %xmm15,0x90(%rsp)
15215  DB  68,15,41,180,36,128,0,0,0           ; movaps        %xmm14,0x80(%rsp)
15216  DB  68,15,41,108,36,112                 ; movaps        %xmm13,0x70(%rsp)
15217  DB  68,15,41,100,36,96                  ; movaps        %xmm12,0x60(%rsp)
15218  DB  68,15,41,92,36,80                   ; movaps        %xmm11,0x50(%rsp)
15219  DB  68,15,41,84,36,64                   ; movaps        %xmm10,0x40(%rsp)
15220  DB  68,15,41,76,36,48                   ; movaps        %xmm9,0x30(%rsp)
15221  DB  68,15,41,68,36,32                   ; movaps        %xmm8,0x20(%rsp)
15222  DB  15,41,124,36,16                     ; movaps        %xmm7,0x10(%rsp)
15223  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
15224  DB  77,137,207                          ; mov           %r9,%r15
15225  DB  77,137,198                          ; mov           %r8,%r14
15226  DB  72,137,203                          ; mov           %rcx,%rbx
15227  DB  72,137,214                          ; mov           %rdx,%rsi
15228  DB  72,173                              ; lods          %ds:(%rsi),%rax
15229  DB  73,137,196                          ; mov           %rax,%r12
15230  DB  73,137,245                          ; mov           %rsi,%r13
15231  DB  72,141,67,4                         ; lea           0x4(%rbx),%rax
15232  DB  76,57,248                           ; cmp           %r15,%rax
15233  DB  118,5                               ; jbe           73 <_sk_start_pipeline_sse2+0x73>
15234  DB  72,137,216                          ; mov           %rbx,%rax
15235  DB  235,52                              ; jmp           a7 <_sk_start_pipeline_sse2+0xa7>
15236  DB  15,87,192                           ; xorps         %xmm0,%xmm0
15237  DB  15,87,201                           ; xorps         %xmm1,%xmm1
15238  DB  15,87,210                           ; xorps         %xmm2,%xmm2
15239  DB  15,87,219                           ; xorps         %xmm3,%xmm3
15240  DB  15,87,228                           ; xorps         %xmm4,%xmm4
15241  DB  15,87,237                           ; xorps         %xmm5,%xmm5
15242  DB  15,87,246                           ; xorps         %xmm6,%xmm6
15243  DB  15,87,255                           ; xorps         %xmm7,%xmm7
15244  DB  72,137,223                          ; mov           %rbx,%rdi
15245  DB  76,137,238                          ; mov           %r13,%rsi
15246  DB  76,137,242                          ; mov           %r14,%rdx
15247  DB  65,255,212                          ; callq         *%r12
15248  DB  72,141,67,4                         ; lea           0x4(%rbx),%rax
15249  DB  72,131,195,8                        ; add           $0x8,%rbx
15250  DB  76,57,251                           ; cmp           %r15,%rbx
15251  DB  72,137,195                          ; mov           %rax,%rbx
15252  DB  118,204                             ; jbe           73 <_sk_start_pipeline_sse2+0x73>
15253  DB  15,40,52,36                         ; movaps        (%rsp),%xmm6
15254  DB  15,40,124,36,16                     ; movaps        0x10(%rsp),%xmm7
15255  DB  68,15,40,68,36,32                   ; movaps        0x20(%rsp),%xmm8
15256  DB  68,15,40,76,36,48                   ; movaps        0x30(%rsp),%xmm9
15257  DB  68,15,40,84,36,64                   ; movaps        0x40(%rsp),%xmm10
15258  DB  68,15,40,92,36,80                   ; movaps        0x50(%rsp),%xmm11
15259  DB  68,15,40,100,36,96                  ; movaps        0x60(%rsp),%xmm12
15260  DB  68,15,40,108,36,112                 ; movaps        0x70(%rsp),%xmm13
15261  DB  68,15,40,180,36,128,0,0,0           ; movaps        0x80(%rsp),%xmm14
15262  DB  68,15,40,188,36,144,0,0,0           ; movaps        0x90(%rsp),%xmm15
15263  DB  72,129,196,160,0,0,0                ; add           $0xa0,%rsp
15264  DB  91                                  ; pop           %rbx
15265  DB  95                                  ; pop           %rdi
15266  DB  94                                  ; pop           %rsi
15267  DB  65,92                               ; pop           %r12
15268  DB  65,93                               ; pop           %r13
15269  DB  65,94                               ; pop           %r14
15270  DB  65,95                               ; pop           %r15
15271  DB  195                                 ; retq
15272
15273PUBLIC _sk_just_return_sse2
15274_sk_just_return_sse2 LABEL PROC
15275  DB  195                                 ; retq
15276
15277PUBLIC _sk_seed_shader_sse2
15278_sk_seed_shader_sse2 LABEL PROC
15279  DB  72,173                              ; lods          %ds:(%rsi),%rax
15280  DB  102,15,110,199                      ; movd          %edi,%xmm0
15281  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
15282  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
15283  DB  15,40,21,193,61,0,0                 ; movaps        0x3dc1(%rip),%xmm2        # 3ed0 <_sk_callback_sse2+0xb2>
15284  DB  15,88,202                           ; addps         %xmm2,%xmm1
15285  DB  15,16,2                             ; movups        (%rdx),%xmm0
15286  DB  15,88,193                           ; addps         %xmm1,%xmm0
15287  DB  102,15,110,8                        ; movd          (%rax),%xmm1
15288  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
15289  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
15290  DB  15,88,202                           ; addps         %xmm2,%xmm1
15291  DB  72,173                              ; lods          %ds:(%rsi),%rax
15292  DB  15,40,21,176,61,0,0                 ; movaps        0x3db0(%rip),%xmm2        # 3ee0 <_sk_callback_sse2+0xc2>
15293  DB  15,87,219                           ; xorps         %xmm3,%xmm3
15294  DB  15,87,228                           ; xorps         %xmm4,%xmm4
15295  DB  15,87,237                           ; xorps         %xmm5,%xmm5
15296  DB  15,87,246                           ; xorps         %xmm6,%xmm6
15297  DB  15,87,255                           ; xorps         %xmm7,%xmm7
15298  DB  255,224                             ; jmpq          *%rax
15299
15300PUBLIC _sk_constant_color_sse2
15301_sk_constant_color_sse2 LABEL PROC
15302  DB  72,173                              ; lods          %ds:(%rsi),%rax
15303  DB  243,15,16,0                         ; movss         (%rax),%xmm0
15304  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
15305  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
15306  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
15307  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
15308  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
15309  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
15310  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
15311  DB  72,173                              ; lods          %ds:(%rsi),%rax
15312  DB  255,224                             ; jmpq          *%rax
15313
15314PUBLIC _sk_clear_sse2
15315_sk_clear_sse2 LABEL PROC
15316  DB  72,173                              ; lods          %ds:(%rsi),%rax
15317  DB  15,87,192                           ; xorps         %xmm0,%xmm0
15318  DB  15,87,201                           ; xorps         %xmm1,%xmm1
15319  DB  15,87,210                           ; xorps         %xmm2,%xmm2
15320  DB  15,87,219                           ; xorps         %xmm3,%xmm3
15321  DB  255,224                             ; jmpq          *%rax
15322
15323PUBLIC _sk_srcatop_sse2
15324_sk_srcatop_sse2 LABEL PROC
15325  DB  15,89,199                           ; mulps         %xmm7,%xmm0
15326  DB  68,15,40,5,107,61,0,0               ; movaps        0x3d6b(%rip),%xmm8        # 3ef0 <_sk_callback_sse2+0xd2>
15327  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
15328  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
15329  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
15330  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
15331  DB  15,89,207                           ; mulps         %xmm7,%xmm1
15332  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
15333  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
15334  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
15335  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15336  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
15337  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
15338  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
15339  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15340  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
15341  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
15342  DB  72,173                              ; lods          %ds:(%rsi),%rax
15343  DB  255,224                             ; jmpq          *%rax
15344
15345PUBLIC _sk_dstatop_sse2
15346_sk_dstatop_sse2 LABEL PROC
15347  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
15348  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
15349  DB  68,15,40,13,46,61,0,0               ; movaps        0x3d2e(%rip),%xmm9        # 3f00 <_sk_callback_sse2+0xe2>
15350  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
15351  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
15352  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
15353  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
15354  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
15355  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
15356  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
15357  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
15358  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
15359  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
15360  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
15361  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
15362  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15363  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
15364  DB  72,173                              ; lods          %ds:(%rsi),%rax
15365  DB  255,224                             ; jmpq          *%rax
15366
15367PUBLIC _sk_srcin_sse2
15368_sk_srcin_sse2 LABEL PROC
15369  DB  15,89,199                           ; mulps         %xmm7,%xmm0
15370  DB  15,89,207                           ; mulps         %xmm7,%xmm1
15371  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15372  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15373  DB  72,173                              ; lods          %ds:(%rsi),%rax
15374  DB  255,224                             ; jmpq          *%rax
15375
15376PUBLIC _sk_dstin_sse2
15377_sk_dstin_sse2 LABEL PROC
15378  DB  15,40,195                           ; movaps        %xmm3,%xmm0
15379  DB  15,89,196                           ; mulps         %xmm4,%xmm0
15380  DB  15,40,203                           ; movaps        %xmm3,%xmm1
15381  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15382  DB  15,40,211                           ; movaps        %xmm3,%xmm2
15383  DB  15,89,214                           ; mulps         %xmm6,%xmm2
15384  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15385  DB  72,173                              ; lods          %ds:(%rsi),%rax
15386  DB  255,224                             ; jmpq          *%rax
15387
15388PUBLIC _sk_srcout_sse2
15389_sk_srcout_sse2 LABEL PROC
15390  DB  68,15,40,5,210,60,0,0               ; movaps        0x3cd2(%rip),%xmm8        # 3f10 <_sk_callback_sse2+0xf2>
15391  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
15392  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
15393  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
15394  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
15395  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
15396  DB  72,173                              ; lods          %ds:(%rsi),%rax
15397  DB  255,224                             ; jmpq          *%rax
15398
15399PUBLIC _sk_dstout_sse2
15400_sk_dstout_sse2 LABEL PROC
15401  DB  68,15,40,5,194,60,0,0               ; movaps        0x3cc2(%rip),%xmm8        # 3f20 <_sk_callback_sse2+0x102>
15402  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
15403  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
15404  DB  15,89,196                           ; mulps         %xmm4,%xmm0
15405  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
15406  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15407  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
15408  DB  15,89,214                           ; mulps         %xmm6,%xmm2
15409  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
15410  DB  72,173                              ; lods          %ds:(%rsi),%rax
15411  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
15412  DB  255,224                             ; jmpq          *%rax
15413
15414PUBLIC _sk_srcover_sse2
15415_sk_srcover_sse2 LABEL PROC
15416  DB  68,15,40,5,165,60,0,0               ; movaps        0x3ca5(%rip),%xmm8        # 3f30 <_sk_callback_sse2+0x112>
15417  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
15418  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
15419  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
15420  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
15421  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
15422  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
15423  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
15424  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
15425  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
15426  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
15427  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
15428  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
15429  DB  72,173                              ; lods          %ds:(%rsi),%rax
15430  DB  255,224                             ; jmpq          *%rax
15431
15432PUBLIC _sk_dstover_sse2
15433_sk_dstover_sse2 LABEL PROC
15434  DB  68,15,40,5,121,60,0,0               ; movaps        0x3c79(%rip),%xmm8        # 3f40 <_sk_callback_sse2+0x122>
15435  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
15436  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
15437  DB  15,88,196                           ; addps         %xmm4,%xmm0
15438  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
15439  DB  15,88,205                           ; addps         %xmm5,%xmm1
15440  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
15441  DB  15,88,214                           ; addps         %xmm6,%xmm2
15442  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
15443  DB  15,88,223                           ; addps         %xmm7,%xmm3
15444  DB  72,173                              ; lods          %ds:(%rsi),%rax
15445  DB  255,224                             ; jmpq          *%rax
15446
15447PUBLIC _sk_modulate_sse2
15448_sk_modulate_sse2 LABEL PROC
15449  DB  15,89,196                           ; mulps         %xmm4,%xmm0
15450  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15451  DB  15,89,214                           ; mulps         %xmm6,%xmm2
15452  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15453  DB  72,173                              ; lods          %ds:(%rsi),%rax
15454  DB  255,224                             ; jmpq          *%rax
15455
15456PUBLIC _sk_multiply_sse2
15457_sk_multiply_sse2 LABEL PROC
15458  DB  68,15,40,5,77,60,0,0                ; movaps        0x3c4d(%rip),%xmm8        # 3f50 <_sk_callback_sse2+0x132>
15459  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
15460  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
15461  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
15462  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
15463  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
15464  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
15465  DB  68,15,89,220                        ; mulps         %xmm4,%xmm11
15466  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
15467  DB  15,89,196                           ; mulps         %xmm4,%xmm0
15468  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
15469  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
15470  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
15471  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
15472  DB  68,15,89,221                        ; mulps         %xmm5,%xmm11
15473  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
15474  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15475  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
15476  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
15477  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
15478  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
15479  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
15480  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
15481  DB  15,89,214                           ; mulps         %xmm6,%xmm2
15482  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
15483  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
15484  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
15485  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
15486  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15487  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
15488  DB  72,173                              ; lods          %ds:(%rsi),%rax
15489  DB  255,224                             ; jmpq          *%rax
15490
15491PUBLIC _sk_plus__sse2
15492_sk_plus__sse2 LABEL PROC
15493  DB  15,88,196                           ; addps         %xmm4,%xmm0
15494  DB  15,88,205                           ; addps         %xmm5,%xmm1
15495  DB  15,88,214                           ; addps         %xmm6,%xmm2
15496  DB  15,88,223                           ; addps         %xmm7,%xmm3
15497  DB  72,173                              ; lods          %ds:(%rsi),%rax
15498  DB  255,224                             ; jmpq          *%rax
15499
15500PUBLIC _sk_screen_sse2
15501_sk_screen_sse2 LABEL PROC
15502  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
15503  DB  68,15,88,196                        ; addps         %xmm4,%xmm8
15504  DB  15,89,196                           ; mulps         %xmm4,%xmm0
15505  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
15506  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
15507  DB  68,15,88,205                        ; addps         %xmm5,%xmm9
15508  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15509  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
15510  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
15511  DB  68,15,88,214                        ; addps         %xmm6,%xmm10
15512  DB  15,89,214                           ; mulps         %xmm6,%xmm2
15513  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
15514  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
15515  DB  68,15,88,223                        ; addps         %xmm7,%xmm11
15516  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15517  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
15518  DB  72,173                              ; lods          %ds:(%rsi),%rax
15519  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
15520  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
15521  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
15522  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
15523  DB  255,224                             ; jmpq          *%rax
15524
15525PUBLIC _sk_xor__sse2
15526_sk_xor__sse2 LABEL PROC
15527  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
15528  DB  15,40,29,126,59,0,0                 ; movaps        0x3b7e(%rip),%xmm3        # 3f60 <_sk_callback_sse2+0x142>
15529  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15530  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
15531  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
15532  DB  65,15,92,216                        ; subps         %xmm8,%xmm3
15533  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
15534  DB  68,15,89,212                        ; mulps         %xmm4,%xmm10
15535  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
15536  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
15537  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
15538  DB  68,15,89,213                        ; mulps         %xmm5,%xmm10
15539  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
15540  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
15541  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
15542  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
15543  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
15544  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
15545  DB  15,89,223                           ; mulps         %xmm7,%xmm3
15546  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
15547  DB  72,173                              ; lods          %ds:(%rsi),%rax
15548  DB  255,224                             ; jmpq          *%rax
15549
15550PUBLIC _sk_darken_sse2
15551_sk_darken_sse2 LABEL PROC
15552  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
15553  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
15554  DB  15,88,196                           ; addps         %xmm4,%xmm0
15555  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
15556  DB  15,40,203                           ; movaps        %xmm3,%xmm1
15557  DB  15,89,204                           ; mulps         %xmm4,%xmm1
15558  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
15559  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
15560  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
15561  DB  15,88,205                           ; addps         %xmm5,%xmm1
15562  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
15563  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15564  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
15565  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
15566  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
15567  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
15568  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
15569  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15570  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15571  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
15572  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
15573  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
15574  DB  15,40,21,233,58,0,0                 ; movaps        0x3ae9(%rip),%xmm2        # 3f70 <_sk_callback_sse2+0x152>
15575  DB  15,92,211                           ; subps         %xmm3,%xmm2
15576  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15577  DB  15,88,218                           ; addps         %xmm2,%xmm3
15578  DB  72,173                              ; lods          %ds:(%rsi),%rax
15579  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
15580  DB  255,224                             ; jmpq          *%rax
15581
15582PUBLIC _sk_lighten_sse2
15583_sk_lighten_sse2 LABEL PROC
15584  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
15585  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
15586  DB  15,88,196                           ; addps         %xmm4,%xmm0
15587  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
15588  DB  15,40,203                           ; movaps        %xmm3,%xmm1
15589  DB  15,89,204                           ; mulps         %xmm4,%xmm1
15590  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
15591  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
15592  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
15593  DB  15,88,205                           ; addps         %xmm5,%xmm1
15594  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
15595  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15596  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
15597  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
15598  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
15599  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
15600  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
15601  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15602  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15603  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
15604  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
15605  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
15606  DB  15,40,21,142,58,0,0                 ; movaps        0x3a8e(%rip),%xmm2        # 3f80 <_sk_callback_sse2+0x162>
15607  DB  15,92,211                           ; subps         %xmm3,%xmm2
15608  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15609  DB  15,88,218                           ; addps         %xmm2,%xmm3
15610  DB  72,173                              ; lods          %ds:(%rsi),%rax
15611  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
15612  DB  255,224                             ; jmpq          *%rax
15613
15614PUBLIC _sk_difference_sse2
15615_sk_difference_sse2 LABEL PROC
15616  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
15617  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
15618  DB  15,88,196                           ; addps         %xmm4,%xmm0
15619  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
15620  DB  15,40,203                           ; movaps        %xmm3,%xmm1
15621  DB  15,89,204                           ; mulps         %xmm4,%xmm1
15622  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
15623  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
15624  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
15625  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
15626  DB  15,88,205                           ; addps         %xmm5,%xmm1
15627  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
15628  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15629  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
15630  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
15631  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
15632  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
15633  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
15634  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
15635  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15636  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15637  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
15638  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
15639  DB  15,88,210                           ; addps         %xmm2,%xmm2
15640  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
15641  DB  15,40,21,40,58,0,0                  ; movaps        0x3a28(%rip),%xmm2        # 3f90 <_sk_callback_sse2+0x172>
15642  DB  15,92,211                           ; subps         %xmm3,%xmm2
15643  DB  15,89,215                           ; mulps         %xmm7,%xmm2
15644  DB  15,88,218                           ; addps         %xmm2,%xmm3
15645  DB  72,173                              ; lods          %ds:(%rsi),%rax
15646  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
15647  DB  255,224                             ; jmpq          *%rax
15648
15649PUBLIC _sk_exclusion_sse2
15650_sk_exclusion_sse2 LABEL PROC
15651  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
15652  DB  15,88,196                           ; addps         %xmm4,%xmm0
15653  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
15654  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
15655  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
15656  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
15657  DB  68,15,88,197                        ; addps         %xmm5,%xmm8
15658  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15659  DB  15,88,201                           ; addps         %xmm1,%xmm1
15660  DB  68,15,92,193                        ; subps         %xmm1,%xmm8
15661  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
15662  DB  68,15,88,206                        ; addps         %xmm6,%xmm9
15663  DB  15,89,214                           ; mulps         %xmm6,%xmm2
15664  DB  15,88,210                           ; addps         %xmm2,%xmm2
15665  DB  68,15,92,202                        ; subps         %xmm2,%xmm9
15666  DB  15,40,13,233,57,0,0                 ; movaps        0x39e9(%rip),%xmm1        # 3fa0 <_sk_callback_sse2+0x182>
15667  DB  15,92,203                           ; subps         %xmm3,%xmm1
15668  DB  15,89,207                           ; mulps         %xmm7,%xmm1
15669  DB  15,88,217                           ; addps         %xmm1,%xmm3
15670  DB  72,173                              ; lods          %ds:(%rsi),%rax
15671  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
15672  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
15673  DB  255,224                             ; jmpq          *%rax
15674
15675PUBLIC _sk_colorburn_sse2
15676_sk_colorburn_sse2 LABEL PROC
15677  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
15678  DB  68,15,40,21,216,57,0,0              ; movaps        0x39d8(%rip),%xmm10        # 3fb0 <_sk_callback_sse2+0x192>
15679  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
15680  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
15681  DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
15682  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
15683  DB  15,40,199                           ; movaps        %xmm7,%xmm0
15684  DB  15,92,196                           ; subps         %xmm4,%xmm0
15685  DB  15,89,195                           ; mulps         %xmm3,%xmm0
15686  DB  65,15,94,192                        ; divps         %xmm8,%xmm0
15687  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
15688  DB  68,15,93,224                        ; minps         %xmm0,%xmm12
15689  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
15690  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
15691  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
15692  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
15693  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
15694  DB  15,88,196                           ; addps         %xmm4,%xmm0
15695  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
15696  DB  69,15,40,224                        ; movaps        %xmm8,%xmm12
15697  DB  69,15,194,227,0                     ; cmpeqps       %xmm11,%xmm12
15698  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
15699  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
15700  DB  69,15,85,229                        ; andnps        %xmm13,%xmm12
15701  DB  69,15,40,234                        ; movaps        %xmm10,%xmm13
15702  DB  68,15,89,236                        ; mulps         %xmm4,%xmm13
15703  DB  69,15,86,224                        ; orps          %xmm8,%xmm12
15704  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
15705  DB  68,15,194,199,0                     ; cmpeqps       %xmm7,%xmm8
15706  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
15707  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
15708  DB  69,15,85,196                        ; andnps        %xmm12,%xmm8
15709  DB  65,15,86,192                        ; orps          %xmm8,%xmm0
15710  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
15711  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
15712  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
15713  DB  68,15,92,229                        ; subps         %xmm5,%xmm12
15714  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
15715  DB  68,15,94,225                        ; divps         %xmm1,%xmm12
15716  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
15717  DB  69,15,93,236                        ; minps         %xmm12,%xmm13
15718  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
15719  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
15720  DB  68,15,40,233                        ; movaps        %xmm1,%xmm13
15721  DB  69,15,194,235,0                     ; cmpeqps       %xmm11,%xmm13
15722  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
15723  DB  69,15,88,224                        ; addps         %xmm8,%xmm12
15724  DB  65,15,84,205                        ; andps         %xmm13,%xmm1
15725  DB  69,15,85,236                        ; andnps        %xmm12,%xmm13
15726  DB  68,15,88,197                        ; addps         %xmm5,%xmm8
15727  DB  68,15,86,233                        ; orps          %xmm1,%xmm13
15728  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
15729  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15730  DB  68,15,88,233                        ; addps         %xmm1,%xmm13
15731  DB  15,40,205                           ; movaps        %xmm5,%xmm1
15732  DB  15,194,207,0                        ; cmpeqps       %xmm7,%xmm1
15733  DB  68,15,84,193                        ; andps         %xmm1,%xmm8
15734  DB  65,15,85,205                        ; andnps        %xmm13,%xmm1
15735  DB  68,15,86,193                        ; orps          %xmm1,%xmm8
15736  DB  15,40,207                           ; movaps        %xmm7,%xmm1
15737  DB  15,92,206                           ; subps         %xmm6,%xmm1
15738  DB  15,89,203                           ; mulps         %xmm3,%xmm1
15739  DB  15,94,202                           ; divps         %xmm2,%xmm1
15740  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
15741  DB  68,15,93,225                        ; minps         %xmm1,%xmm12
15742  DB  15,40,207                           ; movaps        %xmm7,%xmm1
15743  DB  65,15,92,204                        ; subps         %xmm12,%xmm1
15744  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
15745  DB  68,15,194,218,0                     ; cmpeqps       %xmm2,%xmm11
15746  DB  15,89,203                           ; mulps         %xmm3,%xmm1
15747  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
15748  DB  65,15,84,211                        ; andps         %xmm11,%xmm2
15749  DB  68,15,85,217                        ; andnps        %xmm1,%xmm11
15750  DB  68,15,88,206                        ; addps         %xmm6,%xmm9
15751  DB  68,15,86,218                        ; orps          %xmm2,%xmm11
15752  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
15753  DB  15,89,206                           ; mulps         %xmm6,%xmm1
15754  DB  68,15,88,217                        ; addps         %xmm1,%xmm11
15755  DB  15,40,206                           ; movaps        %xmm6,%xmm1
15756  DB  15,194,207,0                        ; cmpeqps       %xmm7,%xmm1
15757  DB  68,15,84,201                        ; andps         %xmm1,%xmm9
15758  DB  65,15,85,203                        ; andnps        %xmm11,%xmm1
15759  DB  68,15,86,201                        ; orps          %xmm1,%xmm9
15760  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
15761  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
15762  DB  72,173                              ; lods          %ds:(%rsi),%rax
15763  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
15764  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
15765  DB  255,224                             ; jmpq          *%rax
15766
15767PUBLIC _sk_colordodge_sse2
15768_sk_colordodge_sse2 LABEL PROC
15769  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
15770  DB  68,15,40,21,142,56,0,0              ; movaps        0x388e(%rip),%xmm10        # 3fc0 <_sk_callback_sse2+0x1a2>
15771  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
15772  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
15773  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
15774  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
15775  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
15776  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
15777  DB  15,40,195                           ; movaps        %xmm3,%xmm0
15778  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
15779  DB  68,15,94,192                        ; divps         %xmm0,%xmm8
15780  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
15781  DB  15,40,199                           ; movaps        %xmm7,%xmm0
15782  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
15783  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
15784  DB  68,15,194,243,0                     ; cmpeqps       %xmm3,%xmm14
15785  DB  15,89,195                           ; mulps         %xmm3,%xmm0
15786  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
15787  DB  69,15,84,206                        ; andps         %xmm14,%xmm9
15788  DB  68,15,85,240                        ; andnps        %xmm0,%xmm14
15789  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
15790  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
15791  DB  15,88,196                           ; addps         %xmm4,%xmm0
15792  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
15793  DB  69,15,86,241                        ; orps          %xmm9,%xmm14
15794  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
15795  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
15796  DB  69,15,88,241                        ; addps         %xmm9,%xmm14
15797  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
15798  DB  69,15,194,200,0                     ; cmpeqps       %xmm8,%xmm9
15799  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
15800  DB  69,15,85,206                        ; andnps        %xmm14,%xmm9
15801  DB  65,15,86,193                        ; orps          %xmm9,%xmm0
15802  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
15803  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
15804  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
15805  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
15806  DB  69,15,94,204                        ; divps         %xmm12,%xmm9
15807  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
15808  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
15809  DB  69,15,93,233                        ; minps         %xmm9,%xmm13
15810  DB  68,15,40,241                        ; movaps        %xmm1,%xmm14
15811  DB  68,15,194,243,0                     ; cmpeqps       %xmm3,%xmm14
15812  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
15813  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
15814  DB  65,15,84,206                        ; andps         %xmm14,%xmm1
15815  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
15816  DB  69,15,40,204                        ; movaps        %xmm12,%xmm9
15817  DB  68,15,88,205                        ; addps         %xmm5,%xmm9
15818  DB  68,15,86,241                        ; orps          %xmm1,%xmm14
15819  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
15820  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15821  DB  68,15,88,241                        ; addps         %xmm1,%xmm14
15822  DB  15,40,205                           ; movaps        %xmm5,%xmm1
15823  DB  65,15,194,200,0                     ; cmpeqps       %xmm8,%xmm1
15824  DB  68,15,84,201                        ; andps         %xmm1,%xmm9
15825  DB  65,15,85,206                        ; andnps        %xmm14,%xmm1
15826  DB  68,15,86,201                        ; orps          %xmm1,%xmm9
15827  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
15828  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
15829  DB  15,40,203                           ; movaps        %xmm3,%xmm1
15830  DB  15,92,202                           ; subps         %xmm2,%xmm1
15831  DB  68,15,94,225                        ; divps         %xmm1,%xmm12
15832  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
15833  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
15834  DB  69,15,93,236                        ; minps         %xmm12,%xmm13
15835  DB  15,40,202                           ; movaps        %xmm2,%xmm1
15836  DB  15,194,203,0                        ; cmpeqps       %xmm3,%xmm1
15837  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
15838  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
15839  DB  15,84,209                           ; andps         %xmm1,%xmm2
15840  DB  65,15,85,205                        ; andnps        %xmm13,%xmm1
15841  DB  15,86,202                           ; orps          %xmm2,%xmm1
15842  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
15843  DB  15,89,214                           ; mulps         %xmm6,%xmm2
15844  DB  15,88,202                           ; addps         %xmm2,%xmm1
15845  DB  68,15,194,198,0                     ; cmpeqps       %xmm6,%xmm8
15846  DB  68,15,88,222                        ; addps         %xmm6,%xmm11
15847  DB  69,15,84,216                        ; andps         %xmm8,%xmm11
15848  DB  68,15,85,193                        ; andnps        %xmm1,%xmm8
15849  DB  69,15,86,195                        ; orps          %xmm11,%xmm8
15850  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
15851  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
15852  DB  72,173                              ; lods          %ds:(%rsi),%rax
15853  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
15854  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
15855  DB  255,224                             ; jmpq          *%rax
15856
15857PUBLIC _sk_hardlight_sse2
15858_sk_hardlight_sse2 LABEL PROC
15859  DB  72,131,236,24                       ; sub           $0x18,%rsp
15860  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
15861  DB  15,40,245                           ; movaps        %xmm5,%xmm6
15862  DB  15,40,236                           ; movaps        %xmm4,%xmm5
15863  DB  68,15,40,29,64,55,0,0               ; movaps        0x3740(%rip),%xmm11        # 3fd0 <_sk_callback_sse2+0x1b2>
15864  DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
15865  DB  68,15,92,215                        ; subps         %xmm7,%xmm10
15866  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
15867  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
15868  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
15869  DB  69,15,40,203                        ; movaps        %xmm11,%xmm9
15870  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
15871  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
15872  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
15873  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
15874  DB  15,40,227                           ; movaps        %xmm3,%xmm4
15875  DB  15,89,231                           ; mulps         %xmm7,%xmm4
15876  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
15877  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
15878  DB  68,15,40,255                        ; movaps        %xmm7,%xmm15
15879  DB  68,15,92,253                        ; subps         %xmm5,%xmm15
15880  DB  69,15,89,248                        ; mulps         %xmm8,%xmm15
15881  DB  69,15,88,255                        ; addps         %xmm15,%xmm15
15882  DB  68,15,40,228                        ; movaps        %xmm4,%xmm12
15883  DB  69,15,92,231                        ; subps         %xmm15,%xmm12
15884  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
15885  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
15886  DB  68,15,194,195,2                     ; cmpleps       %xmm3,%xmm8
15887  DB  15,89,197                           ; mulps         %xmm5,%xmm0
15888  DB  15,88,192                           ; addps         %xmm0,%xmm0
15889  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
15890  DB  69,15,85,196                        ; andnps        %xmm12,%xmm8
15891  DB  68,15,86,192                        ; orps          %xmm0,%xmm8
15892  DB  69,15,40,251                        ; movaps        %xmm11,%xmm15
15893  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
15894  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
15895  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
15896  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
15897  DB  15,89,193                           ; mulps         %xmm1,%xmm0
15898  DB  68,15,89,254                        ; mulps         %xmm6,%xmm15
15899  DB  68,15,88,248                        ; addps         %xmm0,%xmm15
15900  DB  15,40,195                           ; movaps        %xmm3,%xmm0
15901  DB  15,92,193                           ; subps         %xmm1,%xmm0
15902  DB  68,15,92,238                        ; subps         %xmm6,%xmm13
15903  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
15904  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
15905  DB  15,40,196                           ; movaps        %xmm4,%xmm0
15906  DB  65,15,92,197                        ; subps         %xmm13,%xmm0
15907  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
15908  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
15909  DB  68,15,194,203,2                     ; cmpleps       %xmm3,%xmm9
15910  DB  15,89,206                           ; mulps         %xmm6,%xmm1
15911  DB  15,88,201                           ; addps         %xmm1,%xmm1
15912  DB  65,15,84,201                        ; andps         %xmm9,%xmm1
15913  DB  68,15,85,200                        ; andnps        %xmm0,%xmm9
15914  DB  68,15,86,201                        ; orps          %xmm1,%xmm9
15915  DB  69,15,88,207                        ; addps         %xmm15,%xmm9
15916  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
15917  DB  68,15,40,44,36                      ; movaps        (%rsp),%xmm13
15918  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
15919  DB  69,15,88,226                        ; addps         %xmm10,%xmm12
15920  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
15921  DB  69,15,88,210                        ; addps         %xmm10,%xmm10
15922  DB  68,15,194,211,2                     ; cmpleps       %xmm3,%xmm10
15923  DB  15,40,195                           ; movaps        %xmm3,%xmm0
15924  DB  15,92,194                           ; subps         %xmm2,%xmm0
15925  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
15926  DB  15,88,210                           ; addps         %xmm2,%xmm2
15927  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
15928  DB  68,15,89,240                        ; mulps         %xmm0,%xmm14
15929  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
15930  DB  65,15,92,230                        ; subps         %xmm14,%xmm4
15931  DB  65,15,84,210                        ; andps         %xmm10,%xmm2
15932  DB  68,15,85,212                        ; andnps        %xmm4,%xmm10
15933  DB  68,15,86,210                        ; orps          %xmm2,%xmm10
15934  DB  69,15,88,212                        ; addps         %xmm12,%xmm10
15935  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
15936  DB  72,173                              ; lods          %ds:(%rsi),%rax
15937  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
15938  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
15939  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
15940  DB  15,40,229                           ; movaps        %xmm5,%xmm4
15941  DB  15,40,238                           ; movaps        %xmm6,%xmm5
15942  DB  65,15,40,245                        ; movaps        %xmm13,%xmm6
15943  DB  72,131,196,24                       ; add           $0x18,%rsp
15944  DB  255,224                             ; jmpq          *%rax
15945
15946PUBLIC _sk_overlay_sse2
15947_sk_overlay_sse2 LABEL PROC
15948  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
15949  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
15950  DB  68,15,40,13,11,54,0,0               ; movaps        0x360b(%rip),%xmm9        # 3fe0 <_sk_callback_sse2+0x1c2>
15951  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
15952  DB  68,15,92,215                        ; subps         %xmm7,%xmm10
15953  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
15954  DB  69,15,89,221                        ; mulps         %xmm13,%xmm11
15955  DB  68,15,92,203                        ; subps         %xmm3,%xmm9
15956  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
15957  DB  15,89,196                           ; mulps         %xmm4,%xmm0
15958  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
15959  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
15960  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
15961  DB  68,15,89,236                        ; mulps         %xmm4,%xmm13
15962  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
15963  DB  68,15,92,244                        ; subps         %xmm4,%xmm14
15964  DB  15,40,204                           ; movaps        %xmm4,%xmm1
15965  DB  15,88,201                           ; addps         %xmm1,%xmm1
15966  DB  15,194,207,2                        ; cmpleps       %xmm7,%xmm1
15967  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
15968  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
15969  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
15970  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
15971  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
15972  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
15973  DB  69,15,92,230                        ; subps         %xmm14,%xmm12
15974  DB  68,15,84,233                        ; andps         %xmm1,%xmm13
15975  DB  65,15,85,204                        ; andnps        %xmm12,%xmm1
15976  DB  65,15,86,205                        ; orps          %xmm13,%xmm1
15977  DB  15,88,193                           ; addps         %xmm1,%xmm0
15978  DB  69,15,40,226                        ; movaps        %xmm10,%xmm12
15979  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
15980  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
15981  DB  15,89,205                           ; mulps         %xmm5,%xmm1
15982  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
15983  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
15984  DB  69,15,92,224                        ; subps         %xmm8,%xmm12
15985  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
15986  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
15987  DB  68,15,92,237                        ; subps         %xmm5,%xmm13
15988  DB  68,15,40,245                        ; movaps        %xmm5,%xmm14
15989  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
15990  DB  68,15,194,247,2                     ; cmpleps       %xmm7,%xmm14
15991  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
15992  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
15993  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
15994  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
15995  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
15996  DB  69,15,84,198                        ; andps         %xmm14,%xmm8
15997  DB  69,15,85,244                        ; andnps        %xmm12,%xmm14
15998  DB  69,15,86,240                        ; orps          %xmm8,%xmm14
15999  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
16000  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
16001  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
16002  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
16003  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
16004  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
16005  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
16006  DB  15,89,214                           ; mulps         %xmm6,%xmm2
16007  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
16008  DB  68,15,92,230                        ; subps         %xmm6,%xmm12
16009  DB  68,15,40,238                        ; movaps        %xmm6,%xmm13
16010  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
16011  DB  68,15,194,239,2                     ; cmpleps       %xmm7,%xmm13
16012  DB  15,88,210                           ; addps         %xmm2,%xmm2
16013  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
16014  DB  69,15,88,228                        ; addps         %xmm12,%xmm12
16015  DB  69,15,92,220                        ; subps         %xmm12,%xmm11
16016  DB  65,15,84,213                        ; andps         %xmm13,%xmm2
16017  DB  69,15,85,235                        ; andnps        %xmm11,%xmm13
16018  DB  68,15,86,234                        ; orps          %xmm2,%xmm13
16019  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
16020  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
16021  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
16022  DB  72,173                              ; lods          %ds:(%rsi),%rax
16023  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
16024  DB  255,224                             ; jmpq          *%rax
16025
16026PUBLIC _sk_softlight_sse2
16027_sk_softlight_sse2 LABEL PROC
16028  DB  72,131,236,40                       ; sub           $0x28,%rsp
16029  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
16030  DB  15,40,245                           ; movaps        %xmm5,%xmm6
16031  DB  15,40,236                           ; movaps        %xmm4,%xmm5
16032  DB  15,41,84,36,16                      ; movaps        %xmm2,0x10(%rsp)
16033  DB  15,40,209                           ; movaps        %xmm1,%xmm2
16034  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
16035  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
16036  DB  68,15,194,231,1                     ; cmpltps       %xmm7,%xmm12
16037  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
16038  DB  68,15,94,215                        ; divps         %xmm7,%xmm10
16039  DB  69,15,84,212                        ; andps         %xmm12,%xmm10
16040  DB  68,15,40,13,197,52,0,0              ; movaps        0x34c5(%rip),%xmm9        # 3ff0 <_sk_callback_sse2+0x1d2>
16041  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
16042  DB  69,15,92,250                        ; subps         %xmm10,%xmm15
16043  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
16044  DB  69,15,40,234                        ; movaps        %xmm10,%xmm13
16045  DB  65,15,82,194                        ; rsqrtps       %xmm10,%xmm0
16046  DB  15,83,200                           ; rcpps         %xmm0,%xmm1
16047  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
16048  DB  69,15,88,210                        ; addps         %xmm10,%xmm10
16049  DB  69,15,88,210                        ; addps         %xmm10,%xmm10
16050  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
16051  DB  15,89,192                           ; mulps         %xmm0,%xmm0
16052  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
16053  DB  68,15,40,53,159,52,0,0              ; movaps        0x349f(%rip),%xmm14        # 4000 <_sk_callback_sse2+0x1e2>
16054  DB  69,15,88,222                        ; addps         %xmm14,%xmm11
16055  DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
16056  DB  68,15,40,21,159,52,0,0              ; movaps        0x349f(%rip),%xmm10        # 4010 <_sk_callback_sse2+0x1f2>
16057  DB  69,15,89,234                        ; mulps         %xmm10,%xmm13
16058  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
16059  DB  15,88,228                           ; addps         %xmm4,%xmm4
16060  DB  15,88,228                           ; addps         %xmm4,%xmm4
16061  DB  15,194,231,2                        ; cmpleps       %xmm7,%xmm4
16062  DB  68,15,84,236                        ; andps         %xmm4,%xmm13
16063  DB  15,85,225                           ; andnps        %xmm1,%xmm4
16064  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
16065  DB  15,88,192                           ; addps         %xmm0,%xmm0
16066  DB  65,15,86,229                        ; orps          %xmm13,%xmm4
16067  DB  15,40,200                           ; movaps        %xmm0,%xmm1
16068  DB  15,92,203                           ; subps         %xmm3,%xmm1
16069  DB  68,15,89,249                        ; mulps         %xmm1,%xmm15
16070  DB  15,89,207                           ; mulps         %xmm7,%xmm1
16071  DB  15,89,225                           ; mulps         %xmm1,%xmm4
16072  DB  15,40,203                           ; movaps        %xmm3,%xmm1
16073  DB  15,89,205                           ; mulps         %xmm5,%xmm1
16074  DB  15,88,225                           ; addps         %xmm1,%xmm4
16075  DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
16076  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
16077  DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
16078  DB  15,89,205                           ; mulps         %xmm5,%xmm1
16079  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
16080  DB  68,15,92,239                        ; subps         %xmm7,%xmm13
16081  DB  69,15,89,197                        ; mulps         %xmm13,%xmm8
16082  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
16083  DB  68,15,88,251                        ; addps         %xmm3,%xmm15
16084  DB  68,15,89,253                        ; mulps         %xmm5,%xmm15
16085  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
16086  DB  68,15,84,248                        ; andps         %xmm0,%xmm15
16087  DB  15,85,196                           ; andnps        %xmm4,%xmm0
16088  DB  65,15,86,199                        ; orps          %xmm15,%xmm0
16089  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
16090  DB  68,15,40,198                        ; movaps        %xmm6,%xmm8
16091  DB  68,15,94,199                        ; divps         %xmm7,%xmm8
16092  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
16093  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
16094  DB  15,88,201                           ; addps         %xmm1,%xmm1
16095  DB  15,88,201                           ; addps         %xmm1,%xmm1
16096  DB  15,40,225                           ; movaps        %xmm1,%xmm4
16097  DB  15,89,228                           ; mulps         %xmm4,%xmm4
16098  DB  15,88,225                           ; addps         %xmm1,%xmm4
16099  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
16100  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
16101  DB  15,89,204                           ; mulps         %xmm4,%xmm1
16102  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
16103  DB  69,15,92,248                        ; subps         %xmm8,%xmm15
16104  DB  65,15,82,224                        ; rsqrtps       %xmm8,%xmm4
16105  DB  15,83,228                           ; rcpps         %xmm4,%xmm4
16106  DB  65,15,92,224                        ; subps         %xmm8,%xmm4
16107  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
16108  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
16109  DB  15,40,206                           ; movaps        %xmm6,%xmm1
16110  DB  15,88,201                           ; addps         %xmm1,%xmm1
16111  DB  15,88,201                           ; addps         %xmm1,%xmm1
16112  DB  15,194,207,2                        ; cmpleps       %xmm7,%xmm1
16113  DB  68,15,84,193                        ; andps         %xmm1,%xmm8
16114  DB  15,85,204                           ; andnps        %xmm4,%xmm1
16115  DB  65,15,86,200                        ; orps          %xmm8,%xmm1
16116  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
16117  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
16118  DB  65,15,40,224                        ; movaps        %xmm8,%xmm4
16119  DB  15,92,227                           ; subps         %xmm3,%xmm4
16120  DB  68,15,89,252                        ; mulps         %xmm4,%xmm15
16121  DB  15,89,231                           ; mulps         %xmm7,%xmm4
16122  DB  15,89,204                           ; mulps         %xmm4,%xmm1
16123  DB  15,40,227                           ; movaps        %xmm3,%xmm4
16124  DB  15,89,230                           ; mulps         %xmm6,%xmm4
16125  DB  15,88,204                           ; addps         %xmm4,%xmm1
16126  DB  65,15,40,227                        ; movaps        %xmm11,%xmm4
16127  DB  15,89,230                           ; mulps         %xmm6,%xmm4
16128  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
16129  DB  15,88,212                           ; addps         %xmm4,%xmm2
16130  DB  68,15,88,251                        ; addps         %xmm3,%xmm15
16131  DB  68,15,89,254                        ; mulps         %xmm6,%xmm15
16132  DB  68,15,194,195,2                     ; cmpleps       %xmm3,%xmm8
16133  DB  69,15,84,248                        ; andps         %xmm8,%xmm15
16134  DB  68,15,85,193                        ; andnps        %xmm1,%xmm8
16135  DB  69,15,86,199                        ; orps          %xmm15,%xmm8
16136  DB  68,15,88,194                        ; addps         %xmm2,%xmm8
16137  DB  68,15,40,60,36                      ; movaps        (%rsp),%xmm15
16138  DB  65,15,40,207                        ; movaps        %xmm15,%xmm1
16139  DB  15,94,207                           ; divps         %xmm7,%xmm1
16140  DB  65,15,84,204                        ; andps         %xmm12,%xmm1
16141  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
16142  DB  68,15,88,241                        ; addps         %xmm1,%xmm14
16143  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
16144  DB  15,82,209                           ; rsqrtps       %xmm1,%xmm2
16145  DB  15,83,210                           ; rcpps         %xmm2,%xmm2
16146  DB  15,92,209                           ; subps         %xmm1,%xmm2
16147  DB  15,88,201                           ; addps         %xmm1,%xmm1
16148  DB  15,88,201                           ; addps         %xmm1,%xmm1
16149  DB  15,40,225                           ; movaps        %xmm1,%xmm4
16150  DB  15,89,228                           ; mulps         %xmm4,%xmm4
16151  DB  15,88,225                           ; addps         %xmm1,%xmm4
16152  DB  68,15,89,244                        ; mulps         %xmm4,%xmm14
16153  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
16154  DB  65,15,40,207                        ; movaps        %xmm15,%xmm1
16155  DB  15,88,201                           ; addps         %xmm1,%xmm1
16156  DB  15,88,201                           ; addps         %xmm1,%xmm1
16157  DB  15,194,207,2                        ; cmpleps       %xmm7,%xmm1
16158  DB  68,15,84,209                        ; andps         %xmm1,%xmm10
16159  DB  15,85,202                           ; andnps        %xmm2,%xmm1
16160  DB  15,40,84,36,16                      ; movaps        0x10(%rsp),%xmm2
16161  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
16162  DB  15,88,210                           ; addps         %xmm2,%xmm2
16163  DB  65,15,86,202                        ; orps          %xmm10,%xmm1
16164  DB  15,40,226                           ; movaps        %xmm2,%xmm4
16165  DB  15,92,227                           ; subps         %xmm3,%xmm4
16166  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
16167  DB  15,89,231                           ; mulps         %xmm7,%xmm4
16168  DB  15,89,204                           ; mulps         %xmm4,%xmm1
16169  DB  15,40,227                           ; movaps        %xmm3,%xmm4
16170  DB  65,15,89,231                        ; mulps         %xmm15,%xmm4
16171  DB  15,88,204                           ; addps         %xmm4,%xmm1
16172  DB  65,15,40,227                        ; movaps        %xmm11,%xmm4
16173  DB  65,15,89,231                        ; mulps         %xmm15,%xmm4
16174  DB  65,15,88,229                        ; addps         %xmm13,%xmm4
16175  DB  68,15,88,203                        ; addps         %xmm3,%xmm9
16176  DB  69,15,89,207                        ; mulps         %xmm15,%xmm9
16177  DB  69,15,40,215                        ; movaps        %xmm15,%xmm10
16178  DB  15,194,211,2                        ; cmpleps       %xmm3,%xmm2
16179  DB  68,15,84,202                        ; andps         %xmm2,%xmm9
16180  DB  15,85,209                           ; andnps        %xmm1,%xmm2
16181  DB  65,15,86,209                        ; orps          %xmm9,%xmm2
16182  DB  15,88,212                           ; addps         %xmm4,%xmm2
16183  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
16184  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
16185  DB  72,173                              ; lods          %ds:(%rsi),%rax
16186  DB  15,40,229                           ; movaps        %xmm5,%xmm4
16187  DB  15,40,238                           ; movaps        %xmm6,%xmm5
16188  DB  65,15,40,242                        ; movaps        %xmm10,%xmm6
16189  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
16190  DB  72,131,196,40                       ; add           $0x28,%rsp
16191  DB  255,224                             ; jmpq          *%rax
16192
16193PUBLIC _sk_clamp_0_sse2
16194_sk_clamp_0_sse2 LABEL PROC
16195  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
16196  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
16197  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
16198  DB  65,15,95,208                        ; maxps         %xmm8,%xmm2
16199  DB  65,15,95,216                        ; maxps         %xmm8,%xmm3
16200  DB  72,173                              ; lods          %ds:(%rsi),%rax
16201  DB  255,224                             ; jmpq          *%rax
16202
16203PUBLIC _sk_clamp_1_sse2
16204_sk_clamp_1_sse2 LABEL PROC
16205  DB  68,15,40,5,171,50,0,0               ; movaps        0x32ab(%rip),%xmm8        # 4020 <_sk_callback_sse2+0x202>
16206  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
16207  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
16208  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
16209  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
16210  DB  72,173                              ; lods          %ds:(%rsi),%rax
16211  DB  255,224                             ; jmpq          *%rax
16212
16213PUBLIC _sk_clamp_a_sse2
16214_sk_clamp_a_sse2 LABEL PROC
16215  DB  15,93,29,160,50,0,0                 ; minps         0x32a0(%rip),%xmm3        # 4030 <_sk_callback_sse2+0x212>
16216  DB  15,93,195                           ; minps         %xmm3,%xmm0
16217  DB  15,93,203                           ; minps         %xmm3,%xmm1
16218  DB  15,93,211                           ; minps         %xmm3,%xmm2
16219  DB  72,173                              ; lods          %ds:(%rsi),%rax
16220  DB  255,224                             ; jmpq          *%rax
16221
16222PUBLIC _sk_set_rgb_sse2
16223_sk_set_rgb_sse2 LABEL PROC
16224  DB  72,173                              ; lods          %ds:(%rsi),%rax
16225  DB  243,15,16,0                         ; movss         (%rax),%xmm0
16226  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
16227  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
16228  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
16229  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
16230  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
16231  DB  72,173                              ; lods          %ds:(%rsi),%rax
16232  DB  255,224                             ; jmpq          *%rax
16233
16234PUBLIC _sk_swap_rb_sse2
16235_sk_swap_rb_sse2 LABEL PROC
16236  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
16237  DB  72,173                              ; lods          %ds:(%rsi),%rax
16238  DB  15,40,194                           ; movaps        %xmm2,%xmm0
16239  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
16240  DB  255,224                             ; jmpq          *%rax
16241
16242PUBLIC _sk_swap_sse2
16243_sk_swap_sse2 LABEL PROC
16244  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
16245  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
16246  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
16247  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
16248  DB  72,173                              ; lods          %ds:(%rsi),%rax
16249  DB  15,40,196                           ; movaps        %xmm4,%xmm0
16250  DB  15,40,205                           ; movaps        %xmm5,%xmm1
16251  DB  15,40,214                           ; movaps        %xmm6,%xmm2
16252  DB  15,40,223                           ; movaps        %xmm7,%xmm3
16253  DB  65,15,40,227                        ; movaps        %xmm11,%xmm4
16254  DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
16255  DB  65,15,40,241                        ; movaps        %xmm9,%xmm6
16256  DB  65,15,40,248                        ; movaps        %xmm8,%xmm7
16257  DB  255,224                             ; jmpq          *%rax
16258
16259PUBLIC _sk_move_src_dst_sse2
16260_sk_move_src_dst_sse2 LABEL PROC
16261  DB  72,173                              ; lods          %ds:(%rsi),%rax
16262  DB  15,40,224                           ; movaps        %xmm0,%xmm4
16263  DB  15,40,233                           ; movaps        %xmm1,%xmm5
16264  DB  15,40,242                           ; movaps        %xmm2,%xmm6
16265  DB  15,40,251                           ; movaps        %xmm3,%xmm7
16266  DB  255,224                             ; jmpq          *%rax
16267
16268PUBLIC _sk_move_dst_src_sse2
16269_sk_move_dst_src_sse2 LABEL PROC
16270  DB  72,173                              ; lods          %ds:(%rsi),%rax
16271  DB  15,40,196                           ; movaps        %xmm4,%xmm0
16272  DB  15,40,205                           ; movaps        %xmm5,%xmm1
16273  DB  15,40,214                           ; movaps        %xmm6,%xmm2
16274  DB  15,40,223                           ; movaps        %xmm7,%xmm3
16275  DB  255,224                             ; jmpq          *%rax
16276
16277PUBLIC _sk_premul_sse2
16278_sk_premul_sse2 LABEL PROC
16279  DB  15,89,195                           ; mulps         %xmm3,%xmm0
16280  DB  15,89,203                           ; mulps         %xmm3,%xmm1
16281  DB  15,89,211                           ; mulps         %xmm3,%xmm2
16282  DB  72,173                              ; lods          %ds:(%rsi),%rax
16283  DB  255,224                             ; jmpq          *%rax
16284
16285PUBLIC _sk_unpremul_sse2
16286_sk_unpremul_sse2 LABEL PROC
16287  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
16288  DB  68,15,40,13,11,50,0,0               ; movaps        0x320b(%rip),%xmm9        # 4040 <_sk_callback_sse2+0x222>
16289  DB  68,15,94,203                        ; divps         %xmm3,%xmm9
16290  DB  68,15,194,195,4                     ; cmpneqps      %xmm3,%xmm8
16291  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
16292  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
16293  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
16294  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
16295  DB  72,173                              ; lods          %ds:(%rsi),%rax
16296  DB  255,224                             ; jmpq          *%rax
16297
16298PUBLIC _sk_from_srgb_sse2
16299_sk_from_srgb_sse2 LABEL PROC
16300  DB  68,15,40,5,246,49,0,0               ; movaps        0x31f6(%rip),%xmm8        # 4050 <_sk_callback_sse2+0x232>
16301  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
16302  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
16303  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
16304  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
16305  DB  68,15,40,13,238,49,0,0              ; movaps        0x31ee(%rip),%xmm9        # 4060 <_sk_callback_sse2+0x242>
16306  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
16307  DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
16308  DB  68,15,40,21,238,49,0,0              ; movaps        0x31ee(%rip),%xmm10        # 4070 <_sk_callback_sse2+0x252>
16309  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
16310  DB  69,15,89,243                        ; mulps         %xmm11,%xmm14
16311  DB  68,15,40,29,238,49,0,0              ; movaps        0x31ee(%rip),%xmm11        # 4080 <_sk_callback_sse2+0x262>
16312  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
16313  DB  68,15,40,37,242,49,0,0              ; movaps        0x31f2(%rip),%xmm12        # 4090 <_sk_callback_sse2+0x272>
16314  DB  65,15,194,196,1                     ; cmpltps       %xmm12,%xmm0
16315  DB  68,15,84,232                        ; andps         %xmm0,%xmm13
16316  DB  65,15,85,198                        ; andnps        %xmm14,%xmm0
16317  DB  65,15,86,197                        ; orps          %xmm13,%xmm0
16318  DB  68,15,40,233                        ; movaps        %xmm1,%xmm13
16319  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
16320  DB  68,15,40,241                        ; movaps        %xmm1,%xmm14
16321  DB  69,15,89,246                        ; mulps         %xmm14,%xmm14
16322  DB  68,15,40,249                        ; movaps        %xmm1,%xmm15
16323  DB  69,15,89,249                        ; mulps         %xmm9,%xmm15
16324  DB  69,15,88,250                        ; addps         %xmm10,%xmm15
16325  DB  69,15,89,254                        ; mulps         %xmm14,%xmm15
16326  DB  69,15,88,251                        ; addps         %xmm11,%xmm15
16327  DB  65,15,194,204,1                     ; cmpltps       %xmm12,%xmm1
16328  DB  68,15,84,233                        ; andps         %xmm1,%xmm13
16329  DB  65,15,85,207                        ; andnps        %xmm15,%xmm1
16330  DB  65,15,86,205                        ; orps          %xmm13,%xmm1
16331  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
16332  DB  68,15,40,234                        ; movaps        %xmm2,%xmm13
16333  DB  69,15,89,237                        ; mulps         %xmm13,%xmm13
16334  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
16335  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
16336  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
16337  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
16338  DB  65,15,194,212,1                     ; cmpltps       %xmm12,%xmm2
16339  DB  68,15,84,194                        ; andps         %xmm2,%xmm8
16340  DB  65,15,85,209                        ; andnps        %xmm9,%xmm2
16341  DB  65,15,86,208                        ; orps          %xmm8,%xmm2
16342  DB  72,173                              ; lods          %ds:(%rsi),%rax
16343  DB  255,224                             ; jmpq          *%rax
16344
16345PUBLIC _sk_to_srgb_sse2
16346_sk_to_srgb_sse2 LABEL PROC
16347  DB  68,15,82,192                        ; rsqrtps       %xmm0,%xmm8
16348  DB  69,15,83,200                        ; rcpps         %xmm8,%xmm9
16349  DB  69,15,82,232                        ; rsqrtps       %xmm8,%xmm13
16350  DB  68,15,40,5,119,49,0,0               ; movaps        0x3177(%rip),%xmm8        # 40a0 <_sk_callback_sse2+0x282>
16351  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
16352  DB  69,15,89,240                        ; mulps         %xmm8,%xmm14
16353  DB  68,15,40,21,119,49,0,0              ; movaps        0x3177(%rip),%xmm10        # 40b0 <_sk_callback_sse2+0x292>
16354  DB  69,15,89,202                        ; mulps         %xmm10,%xmm9
16355  DB  68,15,40,29,123,49,0,0              ; movaps        0x317b(%rip),%xmm11        # 40c0 <_sk_callback_sse2+0x2a2>
16356  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
16357  DB  68,15,40,37,127,49,0,0              ; movaps        0x317f(%rip),%xmm12        # 40d0 <_sk_callback_sse2+0x2b2>
16358  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
16359  DB  69,15,88,233                        ; addps         %xmm9,%xmm13
16360  DB  68,15,40,13,127,49,0,0              ; movaps        0x317f(%rip),%xmm9        # 40e0 <_sk_callback_sse2+0x2c2>
16361  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
16362  DB  69,15,93,253                        ; minps         %xmm13,%xmm15
16363  DB  68,15,40,45,127,49,0,0              ; movaps        0x317f(%rip),%xmm13        # 40f0 <_sk_callback_sse2+0x2d2>
16364  DB  65,15,194,197,1                     ; cmpltps       %xmm13,%xmm0
16365  DB  68,15,84,240                        ; andps         %xmm0,%xmm14
16366  DB  65,15,85,199                        ; andnps        %xmm15,%xmm0
16367  DB  65,15,86,198                        ; orps          %xmm14,%xmm0
16368  DB  68,15,82,241                        ; rsqrtps       %xmm1,%xmm14
16369  DB  69,15,83,254                        ; rcpps         %xmm14,%xmm15
16370  DB  69,15,82,246                        ; rsqrtps       %xmm14,%xmm14
16371  DB  69,15,89,250                        ; mulps         %xmm10,%xmm15
16372  DB  69,15,88,251                        ; addps         %xmm11,%xmm15
16373  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
16374  DB  69,15,88,247                        ; addps         %xmm15,%xmm14
16375  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
16376  DB  69,15,93,254                        ; minps         %xmm14,%xmm15
16377  DB  68,15,40,241                        ; movaps        %xmm1,%xmm14
16378  DB  69,15,89,240                        ; mulps         %xmm8,%xmm14
16379  DB  65,15,194,205,1                     ; cmpltps       %xmm13,%xmm1
16380  DB  68,15,84,241                        ; andps         %xmm1,%xmm14
16381  DB  65,15,85,207                        ; andnps        %xmm15,%xmm1
16382  DB  65,15,86,206                        ; orps          %xmm14,%xmm1
16383  DB  68,15,82,242                        ; rsqrtps       %xmm2,%xmm14
16384  DB  69,15,83,254                        ; rcpps         %xmm14,%xmm15
16385  DB  69,15,89,250                        ; mulps         %xmm10,%xmm15
16386  DB  69,15,88,251                        ; addps         %xmm11,%xmm15
16387  DB  69,15,82,214                        ; rsqrtps       %xmm14,%xmm10
16388  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
16389  DB  69,15,88,215                        ; addps         %xmm15,%xmm10
16390  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
16391  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
16392  DB  65,15,194,213,1                     ; cmpltps       %xmm13,%xmm2
16393  DB  68,15,84,194                        ; andps         %xmm2,%xmm8
16394  DB  65,15,85,209                        ; andnps        %xmm9,%xmm2
16395  DB  65,15,86,208                        ; orps          %xmm8,%xmm2
16396  DB  72,173                              ; lods          %ds:(%rsi),%rax
16397  DB  255,224                             ; jmpq          *%rax
16398
16399PUBLIC _sk_rgb_to_hsl_sse2
16400_sk_rgb_to_hsl_sse2 LABEL PROC
16401  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
16402  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
16403  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
16404  DB  69,15,95,209                        ; maxps         %xmm9,%xmm10
16405  DB  68,15,95,210                        ; maxps         %xmm2,%xmm10
16406  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
16407  DB  69,15,93,217                        ; minps         %xmm9,%xmm11
16408  DB  68,15,93,218                        ; minps         %xmm2,%xmm11
16409  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
16410  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
16411  DB  68,15,40,45,216,48,0,0              ; movaps        0x30d8(%rip),%xmm13        # 4100 <_sk_callback_sse2+0x2e2>
16412  DB  68,15,94,233                        ; divps         %xmm1,%xmm13
16413  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
16414  DB  65,15,194,192,0                     ; cmpeqps       %xmm8,%xmm0
16415  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
16416  DB  68,15,92,226                        ; subps         %xmm2,%xmm12
16417  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
16418  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
16419  DB  68,15,194,242,1                     ; cmpltps       %xmm2,%xmm14
16420  DB  68,15,84,53,190,48,0,0              ; andps         0x30be(%rip),%xmm14        # 4110 <_sk_callback_sse2+0x2f2>
16421  DB  69,15,88,244                        ; addps         %xmm12,%xmm14
16422  DB  69,15,40,250                        ; movaps        %xmm10,%xmm15
16423  DB  69,15,194,249,0                     ; cmpeqps       %xmm9,%xmm15
16424  DB  65,15,92,208                        ; subps         %xmm8,%xmm2
16425  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
16426  DB  68,15,40,37,177,48,0,0              ; movaps        0x30b1(%rip),%xmm12        # 4120 <_sk_callback_sse2+0x302>
16427  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
16428  DB  69,15,92,193                        ; subps         %xmm9,%xmm8
16429  DB  69,15,89,197                        ; mulps         %xmm13,%xmm8
16430  DB  68,15,88,5,173,48,0,0               ; addps         0x30ad(%rip),%xmm8        # 4130 <_sk_callback_sse2+0x312>
16431  DB  65,15,84,215                        ; andps         %xmm15,%xmm2
16432  DB  69,15,85,248                        ; andnps        %xmm8,%xmm15
16433  DB  68,15,86,250                        ; orps          %xmm2,%xmm15
16434  DB  68,15,84,240                        ; andps         %xmm0,%xmm14
16435  DB  65,15,85,199                        ; andnps        %xmm15,%xmm0
16436  DB  65,15,86,198                        ; orps          %xmm14,%xmm0
16437  DB  15,89,5,158,48,0,0                  ; mulps         0x309e(%rip),%xmm0        # 4140 <_sk_callback_sse2+0x322>
16438  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
16439  DB  69,15,194,195,4                     ; cmpneqps      %xmm11,%xmm8
16440  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
16441  DB  69,15,92,226                        ; subps         %xmm10,%xmm12
16442  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
16443  DB  68,15,40,13,145,48,0,0              ; movaps        0x3091(%rip),%xmm9        # 4150 <_sk_callback_sse2+0x332>
16444  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
16445  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
16446  DB  68,15,194,202,1                     ; cmpltps       %xmm2,%xmm9
16447  DB  69,15,92,227                        ; subps         %xmm11,%xmm12
16448  DB  69,15,84,225                        ; andps         %xmm9,%xmm12
16449  DB  69,15,85,202                        ; andnps        %xmm10,%xmm9
16450  DB  69,15,86,204                        ; orps          %xmm12,%xmm9
16451  DB  65,15,94,201                        ; divps         %xmm9,%xmm1
16452  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
16453  DB  72,173                              ; lods          %ds:(%rsi),%rax
16454  DB  255,224                             ; jmpq          *%rax
16455
16456PUBLIC _sk_hsl_to_rgb_sse2
16457_sk_hsl_to_rgb_sse2 LABEL PROC
16458  DB  72,131,236,120                      ; sub           $0x78,%rsp
16459  DB  15,41,124,36,96                     ; movaps        %xmm7,0x60(%rsp)
16460  DB  15,41,116,36,80                     ; movaps        %xmm6,0x50(%rsp)
16461  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%rsp)
16462  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%rsp)
16463  DB  15,41,92,36,32                      ; movaps        %xmm3,0x20(%rsp)
16464  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
16465  DB  15,40,240                           ; movaps        %xmm0,%xmm6
16466  DB  68,15,40,13,76,48,0,0               ; movaps        0x304c(%rip),%xmm9        # 4160 <_sk_callback_sse2+0x342>
16467  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
16468  DB  69,15,194,211,2                     ; cmpleps       %xmm11,%xmm10
16469  DB  15,40,193                           ; movaps        %xmm1,%xmm0
16470  DB  15,87,219                           ; xorps         %xmm3,%xmm3
16471  DB  15,194,217,0                        ; cmpeqps       %xmm1,%xmm3
16472  DB  15,40,251                           ; movaps        %xmm3,%xmm7
16473  DB  15,41,60,36                         ; movaps        %xmm7,(%rsp)
16474  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
16475  DB  15,92,193                           ; subps         %xmm1,%xmm0
16476  DB  65,15,84,194                        ; andps         %xmm10,%xmm0
16477  DB  68,15,85,209                        ; andnps        %xmm1,%xmm10
16478  DB  68,15,86,208                        ; orps          %xmm0,%xmm10
16479  DB  68,15,41,92,36,16                   ; movaps        %xmm11,0x10(%rsp)
16480  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
16481  DB  69,15,88,219                        ; addps         %xmm11,%xmm11
16482  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
16483  DB  15,40,5,22,48,0,0                   ; movaps        0x3016(%rip),%xmm0        # 4170 <_sk_callback_sse2+0x352>
16484  DB  15,88,198                           ; addps         %xmm6,%xmm0
16485  DB  243,15,91,200                       ; cvttps2dq     %xmm0,%xmm1
16486  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
16487  DB  15,40,216                           ; movaps        %xmm0,%xmm3
16488  DB  15,194,217,1                        ; cmpltps       %xmm1,%xmm3
16489  DB  15,84,29,14,48,0,0                  ; andps         0x300e(%rip),%xmm3        # 4180 <_sk_callback_sse2+0x362>
16490  DB  15,92,203                           ; subps         %xmm3,%xmm1
16491  DB  15,92,193                           ; subps         %xmm1,%xmm0
16492  DB  68,15,40,45,16,48,0,0               ; movaps        0x3010(%rip),%xmm13        # 4190 <_sk_callback_sse2+0x372>
16493  DB  69,15,40,197                        ; movaps        %xmm13,%xmm8
16494  DB  68,15,194,192,2                     ; cmpleps       %xmm0,%xmm8
16495  DB  69,15,40,242                        ; movaps        %xmm10,%xmm14
16496  DB  69,15,92,243                        ; subps         %xmm11,%xmm14
16497  DB  65,15,40,217                        ; movaps        %xmm9,%xmm3
16498  DB  15,194,216,2                        ; cmpleps       %xmm0,%xmm3
16499  DB  15,40,21,32,48,0,0                  ; movaps        0x3020(%rip),%xmm2        # 41c0 <_sk_callback_sse2+0x3a2>
16500  DB  68,15,40,250                        ; movaps        %xmm2,%xmm15
16501  DB  68,15,194,248,2                     ; cmpleps       %xmm0,%xmm15
16502  DB  15,40,13,240,47,0,0                 ; movaps        0x2ff0(%rip),%xmm1        # 41a0 <_sk_callback_sse2+0x382>
16503  DB  15,89,193                           ; mulps         %xmm1,%xmm0
16504  DB  15,40,45,246,47,0,0                 ; movaps        0x2ff6(%rip),%xmm5        # 41b0 <_sk_callback_sse2+0x392>
16505  DB  15,40,229                           ; movaps        %xmm5,%xmm4
16506  DB  15,92,224                           ; subps         %xmm0,%xmm4
16507  DB  65,15,89,230                        ; mulps         %xmm14,%xmm4
16508  DB  65,15,88,227                        ; addps         %xmm11,%xmm4
16509  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
16510  DB  69,15,84,224                        ; andps         %xmm8,%xmm12
16511  DB  68,15,85,196                        ; andnps        %xmm4,%xmm8
16512  DB  69,15,86,196                        ; orps          %xmm12,%xmm8
16513  DB  68,15,84,195                        ; andps         %xmm3,%xmm8
16514  DB  65,15,85,218                        ; andnps        %xmm10,%xmm3
16515  DB  65,15,86,216                        ; orps          %xmm8,%xmm3
16516  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
16517  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
16518  DB  65,15,84,223                        ; andps         %xmm15,%xmm3
16519  DB  68,15,85,248                        ; andnps        %xmm0,%xmm15
16520  DB  68,15,86,251                        ; orps          %xmm3,%xmm15
16521  DB  68,15,40,199                        ; movaps        %xmm7,%xmm8
16522  DB  69,15,85,199                        ; andnps        %xmm15,%xmm8
16523  DB  243,15,91,198                       ; cvttps2dq     %xmm6,%xmm0
16524  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
16525  DB  15,40,222                           ; movaps        %xmm6,%xmm3
16526  DB  15,194,216,1                        ; cmpltps       %xmm0,%xmm3
16527  DB  15,84,29,107,47,0,0                 ; andps         0x2f6b(%rip),%xmm3        # 4180 <_sk_callback_sse2+0x362>
16528  DB  15,92,195                           ; subps         %xmm3,%xmm0
16529  DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
16530  DB  68,15,92,224                        ; subps         %xmm0,%xmm12
16531  DB  69,15,40,253                        ; movaps        %xmm13,%xmm15
16532  DB  69,15,194,252,2                     ; cmpleps       %xmm12,%xmm15
16533  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
16534  DB  65,15,194,228,2                     ; cmpleps       %xmm12,%xmm4
16535  DB  15,40,218                           ; movaps        %xmm2,%xmm3
16536  DB  65,15,194,220,2                     ; cmpleps       %xmm12,%xmm3
16537  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
16538  DB  15,40,197                           ; movaps        %xmm5,%xmm0
16539  DB  65,15,92,196                        ; subps         %xmm12,%xmm0
16540  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
16541  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
16542  DB  65,15,40,251                        ; movaps        %xmm11,%xmm7
16543  DB  65,15,84,255                        ; andps         %xmm15,%xmm7
16544  DB  68,15,85,248                        ; andnps        %xmm0,%xmm15
16545  DB  68,15,86,255                        ; orps          %xmm7,%xmm15
16546  DB  68,15,84,252                        ; andps         %xmm4,%xmm15
16547  DB  65,15,85,226                        ; andnps        %xmm10,%xmm4
16548  DB  65,15,86,231                        ; orps          %xmm15,%xmm4
16549  DB  69,15,89,230                        ; mulps         %xmm14,%xmm12
16550  DB  69,15,88,227                        ; addps         %xmm11,%xmm12
16551  DB  15,84,227                           ; andps         %xmm3,%xmm4
16552  DB  65,15,85,220                        ; andnps        %xmm12,%xmm3
16553  DB  15,86,220                           ; orps          %xmm4,%xmm3
16554  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
16555  DB  15,40,231                           ; movaps        %xmm7,%xmm4
16556  DB  15,85,227                           ; andnps        %xmm3,%xmm4
16557  DB  15,88,53,68,47,0,0                  ; addps         0x2f44(%rip),%xmm6        # 41d0 <_sk_callback_sse2+0x3b2>
16558  DB  243,15,91,198                       ; cvttps2dq     %xmm6,%xmm0
16559  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
16560  DB  15,40,222                           ; movaps        %xmm6,%xmm3
16561  DB  15,194,216,1                        ; cmpltps       %xmm0,%xmm3
16562  DB  15,84,29,223,46,0,0                 ; andps         0x2edf(%rip),%xmm3        # 4180 <_sk_callback_sse2+0x362>
16563  DB  15,92,195                           ; subps         %xmm3,%xmm0
16564  DB  15,92,240                           ; subps         %xmm0,%xmm6
16565  DB  15,89,206                           ; mulps         %xmm6,%xmm1
16566  DB  15,92,233                           ; subps         %xmm1,%xmm5
16567  DB  65,15,89,238                        ; mulps         %xmm14,%xmm5
16568  DB  65,15,89,206                        ; mulps         %xmm14,%xmm1
16569  DB  65,15,88,235                        ; addps         %xmm11,%xmm5
16570  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
16571  DB  68,15,194,238,2                     ; cmpleps       %xmm6,%xmm13
16572  DB  69,15,84,221                        ; andps         %xmm13,%xmm11
16573  DB  68,15,85,237                        ; andnps        %xmm5,%xmm13
16574  DB  69,15,86,235                        ; orps          %xmm11,%xmm13
16575  DB  68,15,194,206,2                     ; cmpleps       %xmm6,%xmm9
16576  DB  69,15,84,233                        ; andps         %xmm9,%xmm13
16577  DB  69,15,85,202                        ; andnps        %xmm10,%xmm9
16578  DB  69,15,86,205                        ; orps          %xmm13,%xmm9
16579  DB  15,194,214,2                        ; cmpleps       %xmm6,%xmm2
16580  DB  68,15,84,202                        ; andps         %xmm2,%xmm9
16581  DB  15,85,209                           ; andnps        %xmm1,%xmm2
16582  DB  65,15,86,209                        ; orps          %xmm9,%xmm2
16583  DB  15,40,68,36,16                      ; movaps        0x10(%rsp),%xmm0
16584  DB  15,40,207                           ; movaps        %xmm7,%xmm1
16585  DB  15,84,193                           ; andps         %xmm1,%xmm0
16586  DB  15,85,202                           ; andnps        %xmm2,%xmm1
16587  DB  68,15,86,192                        ; orps          %xmm0,%xmm8
16588  DB  15,86,224                           ; orps          %xmm0,%xmm4
16589  DB  15,86,193                           ; orps          %xmm1,%xmm0
16590  DB  15,40,208                           ; movaps        %xmm0,%xmm2
16591  DB  72,173                              ; lods          %ds:(%rsi),%rax
16592  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
16593  DB  15,40,204                           ; movaps        %xmm4,%xmm1
16594  DB  15,40,92,36,32                      ; movaps        0x20(%rsp),%xmm3
16595  DB  15,40,100,36,48                     ; movaps        0x30(%rsp),%xmm4
16596  DB  15,40,108,36,64                     ; movaps        0x40(%rsp),%xmm5
16597  DB  15,40,116,36,80                     ; movaps        0x50(%rsp),%xmm6
16598  DB  15,40,124,36,96                     ; movaps        0x60(%rsp),%xmm7
16599  DB  72,131,196,120                      ; add           $0x78,%rsp
16600  DB  255,224                             ; jmpq          *%rax
16601
16602PUBLIC _sk_scale_1_float_sse2
16603_sk_scale_1_float_sse2 LABEL PROC
16604  DB  72,173                              ; lods          %ds:(%rsi),%rax
16605  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
16606  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
16607  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
16608  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
16609  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
16610  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
16611  DB  72,173                              ; lods          %ds:(%rsi),%rax
16612  DB  255,224                             ; jmpq          *%rax
16613
16614PUBLIC _sk_scale_u8_sse2
16615_sk_scale_u8_sse2 LABEL PROC
16616  DB  72,173                              ; lods          %ds:(%rsi),%rax
16617  DB  72,139,0                            ; mov           (%rax),%rax
16618  DB  102,68,15,110,4,56                  ; movd          (%rax,%rdi,1),%xmm8
16619  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
16620  DB  102,69,15,96,193                    ; punpcklbw     %xmm9,%xmm8
16621  DB  102,69,15,97,193                    ; punpcklwd     %xmm9,%xmm8
16622  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
16623  DB  68,15,89,5,105,46,0,0               ; mulps         0x2e69(%rip),%xmm8        # 41e0 <_sk_callback_sse2+0x3c2>
16624  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
16625  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
16626  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
16627  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
16628  DB  72,173                              ; lods          %ds:(%rsi),%rax
16629  DB  255,224                             ; jmpq          *%rax
16630
16631PUBLIC _sk_lerp_1_float_sse2
16632_sk_lerp_1_float_sse2 LABEL PROC
16633  DB  72,173                              ; lods          %ds:(%rsi),%rax
16634  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
16635  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
16636  DB  15,92,196                           ; subps         %xmm4,%xmm0
16637  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
16638  DB  15,88,196                           ; addps         %xmm4,%xmm0
16639  DB  15,92,205                           ; subps         %xmm5,%xmm1
16640  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
16641  DB  15,88,205                           ; addps         %xmm5,%xmm1
16642  DB  15,92,214                           ; subps         %xmm6,%xmm2
16643  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
16644  DB  15,88,214                           ; addps         %xmm6,%xmm2
16645  DB  15,92,223                           ; subps         %xmm7,%xmm3
16646  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
16647  DB  15,88,223                           ; addps         %xmm7,%xmm3
16648  DB  72,173                              ; lods          %ds:(%rsi),%rax
16649  DB  255,224                             ; jmpq          *%rax
16650
16651PUBLIC _sk_lerp_u8_sse2
16652_sk_lerp_u8_sse2 LABEL PROC
16653  DB  72,173                              ; lods          %ds:(%rsi),%rax
16654  DB  72,139,0                            ; mov           (%rax),%rax
16655  DB  102,68,15,110,4,56                  ; movd          (%rax,%rdi,1),%xmm8
16656  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
16657  DB  102,69,15,96,193                    ; punpcklbw     %xmm9,%xmm8
16658  DB  102,69,15,97,193                    ; punpcklwd     %xmm9,%xmm8
16659  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
16660  DB  68,15,89,5,7,46,0,0                 ; mulps         0x2e07(%rip),%xmm8        # 41f0 <_sk_callback_sse2+0x3d2>
16661  DB  15,92,196                           ; subps         %xmm4,%xmm0
16662  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
16663  DB  15,88,196                           ; addps         %xmm4,%xmm0
16664  DB  15,92,205                           ; subps         %xmm5,%xmm1
16665  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
16666  DB  15,88,205                           ; addps         %xmm5,%xmm1
16667  DB  15,92,214                           ; subps         %xmm6,%xmm2
16668  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
16669  DB  15,88,214                           ; addps         %xmm6,%xmm2
16670  DB  15,92,223                           ; subps         %xmm7,%xmm3
16671  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
16672  DB  15,88,223                           ; addps         %xmm7,%xmm3
16673  DB  72,173                              ; lods          %ds:(%rsi),%rax
16674  DB  255,224                             ; jmpq          *%rax
16675
16676PUBLIC _sk_lerp_565_sse2
16677_sk_lerp_565_sse2 LABEL PROC
16678  DB  72,173                              ; lods          %ds:(%rsi),%rax
16679  DB  72,139,0                            ; mov           (%rax),%rax
16680  DB  243,68,15,126,4,120                 ; movq          (%rax,%rdi,2),%xmm8
16681  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
16682  DB  102,68,15,97,195                    ; punpcklwd     %xmm3,%xmm8
16683  DB  102,15,111,29,207,45,0,0            ; movdqa        0x2dcf(%rip),%xmm3        # 4200 <_sk_callback_sse2+0x3e2>
16684  DB  102,65,15,219,216                   ; pand          %xmm8,%xmm3
16685  DB  68,15,91,203                        ; cvtdq2ps      %xmm3,%xmm9
16686  DB  68,15,89,13,206,45,0,0              ; mulps         0x2dce(%rip),%xmm9        # 4210 <_sk_callback_sse2+0x3f2>
16687  DB  102,15,111,29,214,45,0,0            ; movdqa        0x2dd6(%rip),%xmm3        # 4220 <_sk_callback_sse2+0x402>
16688  DB  102,65,15,219,216                   ; pand          %xmm8,%xmm3
16689  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
16690  DB  15,89,29,215,45,0,0                 ; mulps         0x2dd7(%rip),%xmm3        # 4230 <_sk_callback_sse2+0x412>
16691  DB  102,68,15,219,5,222,45,0,0          ; pand          0x2dde(%rip),%xmm8        # 4240 <_sk_callback_sse2+0x422>
16692  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
16693  DB  68,15,89,5,226,45,0,0               ; mulps         0x2de2(%rip),%xmm8        # 4250 <_sk_callback_sse2+0x432>
16694  DB  15,92,196                           ; subps         %xmm4,%xmm0
16695  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
16696  DB  15,88,196                           ; addps         %xmm4,%xmm0
16697  DB  15,92,205                           ; subps         %xmm5,%xmm1
16698  DB  15,89,203                           ; mulps         %xmm3,%xmm1
16699  DB  15,88,205                           ; addps         %xmm5,%xmm1
16700  DB  15,92,214                           ; subps         %xmm6,%xmm2
16701  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
16702  DB  15,88,214                           ; addps         %xmm6,%xmm2
16703  DB  72,173                              ; lods          %ds:(%rsi),%rax
16704  DB  15,40,29,204,45,0,0                 ; movaps        0x2dcc(%rip),%xmm3        # 4260 <_sk_callback_sse2+0x442>
16705  DB  255,224                             ; jmpq          *%rax
16706
16707PUBLIC _sk_load_tables_sse2
16708_sk_load_tables_sse2 LABEL PROC
16709  DB  72,173                              ; lods          %ds:(%rsi),%rax
16710  DB  76,139,0                            ; mov           (%rax),%r8
16711  DB  76,139,72,8                         ; mov           0x8(%rax),%r9
16712  DB  243,69,15,111,12,184                ; movdqu        (%r8,%rdi,4),%xmm9
16713  DB  102,68,15,111,5,194,45,0,0          ; movdqa        0x2dc2(%rip),%xmm8        # 4270 <_sk_callback_sse2+0x452>
16714  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
16715  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
16716  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
16717  DB  102,73,15,126,200                   ; movq          %xmm1,%r8
16718  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
16719  DB  68,15,182,209                       ; movzbl        %cl,%r10d
16720  DB  72,193,233,30                       ; shr           $0x1e,%rcx
16721  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
16722  DB  73,193,232,30                       ; shr           $0x1e,%r8
16723  DB  243,65,15,16,12,9                   ; movss         (%r9,%rcx,1),%xmm1
16724  DB  243,67,15,16,4,1                    ; movss         (%r9,%r8,1),%xmm0
16725  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
16726  DB  243,67,15,16,4,145                  ; movss         (%r9,%r10,4),%xmm0
16727  DB  243,67,15,16,20,153                 ; movss         (%r9,%r11,4),%xmm2
16728  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
16729  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
16730  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
16731  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
16732  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
16733  DB  102,65,15,219,200                   ; pand          %xmm8,%xmm1
16734  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
16735  DB  102,73,15,126,209                   ; movq          %xmm2,%r9
16736  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
16737  DB  68,15,182,209                       ; movzbl        %cl,%r10d
16738  DB  72,193,233,30                       ; shr           $0x1e,%rcx
16739  DB  69,15,182,217                       ; movzbl        %r9b,%r11d
16740  DB  73,193,233,30                       ; shr           $0x1e,%r9
16741  DB  243,65,15,16,20,8                   ; movss         (%r8,%rcx,1),%xmm2
16742  DB  243,67,15,16,12,8                   ; movss         (%r8,%r9,1),%xmm1
16743  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
16744  DB  243,67,15,16,12,144                 ; movss         (%r8,%r10,4),%xmm1
16745  DB  243,67,15,16,28,152                 ; movss         (%r8,%r11,4),%xmm3
16746  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
16747  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
16748  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
16749  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
16750  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
16751  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
16752  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
16753  DB  102,72,15,126,217                   ; movq          %xmm3,%rcx
16754  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
16755  DB  68,15,182,200                       ; movzbl        %al,%r9d
16756  DB  72,193,232,30                       ; shr           $0x1e,%rax
16757  DB  68,15,182,209                       ; movzbl        %cl,%r10d
16758  DB  72,193,233,30                       ; shr           $0x1e,%rcx
16759  DB  243,69,15,16,4,0                    ; movss         (%r8,%rax,1),%xmm8
16760  DB  243,65,15,16,20,8                   ; movss         (%r8,%rcx,1),%xmm2
16761  DB  68,15,20,194                        ; unpcklps      %xmm2,%xmm8
16762  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
16763  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
16764  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
16765  DB  65,15,20,208                        ; unpcklps      %xmm8,%xmm2
16766  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
16767  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
16768  DB  15,89,29,207,44,0,0                 ; mulps         0x2ccf(%rip),%xmm3        # 4280 <_sk_callback_sse2+0x462>
16769  DB  72,173                              ; lods          %ds:(%rsi),%rax
16770  DB  255,224                             ; jmpq          *%rax
16771
16772PUBLIC _sk_load_tables_u16_be_sse2
16773_sk_load_tables_u16_be_sse2 LABEL PROC
16774  DB  72,173                              ; lods          %ds:(%rsi),%rax
16775  DB  72,139,8                            ; mov           (%rax),%rcx
16776  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
16777  DB  243,15,111,4,249                    ; movdqu        (%rcx,%rdi,8),%xmm0
16778  DB  243,15,111,76,249,16                ; movdqu        0x10(%rcx,%rdi,8),%xmm1
16779  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
16780  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
16781  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
16782  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
16783  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
16784  DB  102,68,15,105,200                   ; punpckhwd     %xmm0,%xmm9
16785  DB  102,68,15,111,21,162,44,0,0         ; movdqa        0x2ca2(%rip),%xmm10        # 4290 <_sk_callback_sse2+0x472>
16786  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
16787  DB  102,65,15,219,194                   ; pand          %xmm10,%xmm0
16788  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
16789  DB  102,65,15,97,192                    ; punpcklwd     %xmm8,%xmm0
16790  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
16791  DB  102,72,15,126,217                   ; movq          %xmm3,%rcx
16792  DB  68,15,182,201                       ; movzbl        %cl,%r9d
16793  DB  72,193,233,32                       ; shr           $0x20,%rcx
16794  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
16795  DB  69,15,182,218                       ; movzbl        %r10b,%r11d
16796  DB  73,193,234,30                       ; shr           $0x1e,%r10
16797  DB  243,67,15,16,28,16                  ; movss         (%r8,%r10,1),%xmm3
16798  DB  243,65,15,16,4,136                  ; movss         (%r8,%rcx,4),%xmm0
16799  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
16800  DB  243,67,15,16,4,152                  ; movss         (%r8,%r11,4),%xmm0
16801  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
16802  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
16803  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
16804  DB  76,139,80,16                        ; mov           0x10(%rax),%r10
16805  DB  102,15,115,217,8                    ; psrldq        $0x8,%xmm1
16806  DB  102,65,15,219,202                   ; pand          %xmm10,%xmm1
16807  DB  102,65,15,97,200                    ; punpcklwd     %xmm8,%xmm1
16808  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
16809  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
16810  DB  69,15,182,200                       ; movzbl        %r8b,%r9d
16811  DB  73,193,232,32                       ; shr           $0x20,%r8
16812  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
16813  DB  68,15,182,217                       ; movzbl        %cl,%r11d
16814  DB  72,193,233,30                       ; shr           $0x1e,%rcx
16815  DB  243,65,15,16,20,10                  ; movss         (%r10,%rcx,1),%xmm2
16816  DB  243,67,15,16,12,130                 ; movss         (%r10,%r8,4),%xmm1
16817  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
16818  DB  243,67,15,16,12,154                 ; movss         (%r10,%r11,4),%xmm1
16819  DB  243,67,15,16,28,138                 ; movss         (%r10,%r9,4),%xmm3
16820  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
16821  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
16822  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
16823  DB  102,69,15,219,209                   ; pand          %xmm9,%xmm10
16824  DB  102,69,15,97,208                    ; punpcklwd     %xmm8,%xmm10
16825  DB  102,65,15,112,210,78                ; pshufd        $0x4e,%xmm10,%xmm2
16826  DB  102,72,15,126,209                   ; movq          %xmm2,%rcx
16827  DB  68,15,182,193                       ; movzbl        %cl,%r8d
16828  DB  72,193,233,32                       ; shr           $0x20,%rcx
16829  DB  102,76,15,126,208                   ; movq          %xmm10,%rax
16830  DB  68,15,182,208                       ; movzbl        %al,%r10d
16831  DB  72,193,232,30                       ; shr           $0x1e,%rax
16832  DB  243,69,15,16,20,1                   ; movss         (%r9,%rax,1),%xmm10
16833  DB  243,65,15,16,20,137                 ; movss         (%r9,%rcx,4),%xmm2
16834  DB  68,15,20,210                        ; unpcklps      %xmm2,%xmm10
16835  DB  243,67,15,16,20,145                 ; movss         (%r9,%r10,4),%xmm2
16836  DB  243,67,15,16,28,129                 ; movss         (%r9,%r8,4),%xmm3
16837  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
16838  DB  65,15,20,210                        ; unpcklps      %xmm10,%xmm2
16839  DB  102,65,15,112,217,78                ; pshufd        $0x4e,%xmm9,%xmm3
16840  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
16841  DB  102,65,15,113,241,8                 ; psllw         $0x8,%xmm9
16842  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
16843  DB  102,65,15,235,217                   ; por           %xmm9,%xmm3
16844  DB  102,65,15,97,216                    ; punpcklwd     %xmm8,%xmm3
16845  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
16846  DB  15,89,29,145,43,0,0                 ; mulps         0x2b91(%rip),%xmm3        # 42a0 <_sk_callback_sse2+0x482>
16847  DB  72,173                              ; lods          %ds:(%rsi),%rax
16848  DB  255,224                             ; jmpq          *%rax
16849
16850PUBLIC _sk_load_tables_rgb_u16_be_sse2
16851_sk_load_tables_rgb_u16_be_sse2 LABEL PROC
16852  DB  72,173                              ; lods          %ds:(%rsi),%rax
16853  DB  76,141,12,127                       ; lea           (%rdi,%rdi,2),%r9
16854  DB  72,139,8                            ; mov           (%rax),%rcx
16855  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
16856  DB  243,70,15,111,28,73                 ; movdqu        (%rcx,%r9,2),%xmm11
16857  DB  243,66,15,111,68,73,8               ; movdqu        0x8(%rcx,%r9,2),%xmm0
16858  DB  102,15,115,216,4                    ; psrldq        $0x4,%xmm0
16859  DB  102,69,15,111,211                   ; movdqa        %xmm11,%xmm10
16860  DB  102,65,15,115,218,6                 ; psrldq        $0x6,%xmm10
16861  DB  102,68,15,97,216                    ; punpcklwd     %xmm0,%xmm11
16862  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
16863  DB  102,68,15,97,208                    ; punpcklwd     %xmm0,%xmm10
16864  DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
16865  DB  102,65,15,97,194                    ; punpcklwd     %xmm10,%xmm0
16866  DB  102,68,15,111,5,81,43,0,0           ; movdqa        0x2b51(%rip),%xmm8        # 42b0 <_sk_callback_sse2+0x492>
16867  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
16868  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
16869  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
16870  DB  102,65,15,97,193                    ; punpcklwd     %xmm9,%xmm0
16871  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
16872  DB  102,72,15,126,217                   ; movq          %xmm3,%rcx
16873  DB  68,15,182,201                       ; movzbl        %cl,%r9d
16874  DB  72,193,233,32                       ; shr           $0x20,%rcx
16875  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
16876  DB  69,15,182,218                       ; movzbl        %r10b,%r11d
16877  DB  73,193,234,30                       ; shr           $0x1e,%r10
16878  DB  243,67,15,16,28,16                  ; movss         (%r8,%r10,1),%xmm3
16879  DB  243,65,15,16,4,136                  ; movss         (%r8,%rcx,4),%xmm0
16880  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
16881  DB  243,67,15,16,4,152                  ; movss         (%r8,%r11,4),%xmm0
16882  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
16883  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
16884  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
16885  DB  76,139,80,16                        ; mov           0x10(%rax),%r10
16886  DB  102,65,15,219,200                   ; pand          %xmm8,%xmm1
16887  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
16888  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
16889  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
16890  DB  69,15,182,200                       ; movzbl        %r8b,%r9d
16891  DB  73,193,232,32                       ; shr           $0x20,%r8
16892  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
16893  DB  68,15,182,217                       ; movzbl        %cl,%r11d
16894  DB  72,193,233,30                       ; shr           $0x1e,%rcx
16895  DB  243,65,15,16,20,10                  ; movss         (%r10,%rcx,1),%xmm2
16896  DB  243,67,15,16,12,130                 ; movss         (%r10,%r8,4),%xmm1
16897  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
16898  DB  243,67,15,16,12,154                 ; movss         (%r10,%r11,4),%xmm1
16899  DB  243,67,15,16,28,138                 ; movss         (%r10,%r9,4),%xmm3
16900  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
16901  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
16902  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
16903  DB  102,69,15,105,218                   ; punpckhwd     %xmm10,%xmm11
16904  DB  102,69,15,219,216                   ; pand          %xmm8,%xmm11
16905  DB  102,69,15,97,217                    ; punpcklwd     %xmm9,%xmm11
16906  DB  102,65,15,112,211,78                ; pshufd        $0x4e,%xmm11,%xmm2
16907  DB  102,72,15,126,209                   ; movq          %xmm2,%rcx
16908  DB  68,15,182,193                       ; movzbl        %cl,%r8d
16909  DB  72,193,233,32                       ; shr           $0x20,%rcx
16910  DB  102,76,15,126,216                   ; movq          %xmm11,%rax
16911  DB  68,15,182,208                       ; movzbl        %al,%r10d
16912  DB  72,193,232,30                       ; shr           $0x1e,%rax
16913  DB  243,69,15,16,4,1                    ; movss         (%r9,%rax,1),%xmm8
16914  DB  243,65,15,16,20,137                 ; movss         (%r9,%rcx,4),%xmm2
16915  DB  68,15,20,194                        ; unpcklps      %xmm2,%xmm8
16916  DB  243,67,15,16,20,145                 ; movss         (%r9,%r10,4),%xmm2
16917  DB  243,67,15,16,28,129                 ; movss         (%r9,%r8,4),%xmm3
16918  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
16919  DB  65,15,20,208                        ; unpcklps      %xmm8,%xmm2
16920  DB  72,173                              ; lods          %ds:(%rsi),%rax
16921  DB  15,40,29,96,42,0,0                  ; movaps        0x2a60(%rip),%xmm3        # 42c0 <_sk_callback_sse2+0x4a2>
16922  DB  255,224                             ; jmpq          *%rax
16923
16924PUBLIC _sk_byte_tables_sse2
16925_sk_byte_tables_sse2 LABEL PROC
16926  DB  65,86                               ; push          %r14
16927  DB  83                                  ; push          %rbx
16928  DB  72,173                              ; lods          %ds:(%rsi),%rax
16929  DB  68,15,40,5,97,42,0,0                ; movaps        0x2a61(%rip),%xmm8        # 42d0 <_sk_callback_sse2+0x4b2>
16930  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
16931  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
16932  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
16933  DB  65,137,200                          ; mov           %ecx,%r8d
16934  DB  72,193,233,32                       ; shr           $0x20,%rcx
16935  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
16936  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
16937  DB  69,137,202                          ; mov           %r9d,%r10d
16938  DB  77,137,203                          ; mov           %r9,%r11
16939  DB  73,193,235,32                       ; shr           $0x20,%r11
16940  DB  76,139,48                           ; mov           (%rax),%r14
16941  DB  76,139,72,8                         ; mov           0x8(%rax),%r9
16942  DB  71,15,182,20,22                     ; movzbl        (%r14,%r10,1),%r10d
16943  DB  67,15,182,28,30                     ; movzbl        (%r14,%r11,1),%ebx
16944  DB  193,227,8                           ; shl           $0x8,%ebx
16945  DB  68,9,211                            ; or            %r10d,%ebx
16946  DB  71,15,182,4,6                       ; movzbl        (%r14,%r8,1),%r8d
16947  DB  65,15,182,12,14                     ; movzbl        (%r14,%rcx,1),%ecx
16948  DB  193,225,8                           ; shl           $0x8,%ecx
16949  DB  68,9,193                            ; or            %r8d,%ecx
16950  DB  102,15,196,193,0                    ; pinsrw        $0x0,%ecx,%xmm0
16951  DB  102,15,196,195,1                    ; pinsrw        $0x1,%ebx,%xmm0
16952  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
16953  DB  102,65,15,96,193                    ; punpcklbw     %xmm9,%xmm0
16954  DB  102,65,15,97,193                    ; punpcklwd     %xmm9,%xmm0
16955  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
16956  DB  68,15,40,21,254,41,0,0              ; movaps        0x29fe(%rip),%xmm10        # 42e0 <_sk_callback_sse2+0x4c2>
16957  DB  65,15,89,194                        ; mulps         %xmm10,%xmm0
16958  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
16959  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
16960  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
16961  DB  65,137,200                          ; mov           %ecx,%r8d
16962  DB  72,193,233,32                       ; shr           $0x20,%rcx
16963  DB  102,15,112,201,78                   ; pshufd        $0x4e,%xmm1,%xmm1
16964  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
16965  DB  65,137,218                          ; mov           %ebx,%r10d
16966  DB  72,193,235,32                       ; shr           $0x20,%rbx
16967  DB  71,15,182,20,17                     ; movzbl        (%r9,%r10,1),%r10d
16968  DB  65,15,182,28,25                     ; movzbl        (%r9,%rbx,1),%ebx
16969  DB  193,227,8                           ; shl           $0x8,%ebx
16970  DB  68,9,211                            ; or            %r10d,%ebx
16971  DB  71,15,182,4,1                       ; movzbl        (%r9,%r8,1),%r8d
16972  DB  65,15,182,12,9                      ; movzbl        (%r9,%rcx,1),%ecx
16973  DB  193,225,8                           ; shl           $0x8,%ecx
16974  DB  68,9,193                            ; or            %r8d,%ecx
16975  DB  102,15,196,201,0                    ; pinsrw        $0x0,%ecx,%xmm1
16976  DB  102,15,196,203,1                    ; pinsrw        $0x1,%ebx,%xmm1
16977  DB  102,65,15,96,201                    ; punpcklbw     %xmm9,%xmm1
16978  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
16979  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
16980  DB  65,15,89,202                        ; mulps         %xmm10,%xmm1
16981  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
16982  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
16983  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
16984  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
16985  DB  65,137,216                          ; mov           %ebx,%r8d
16986  DB  72,193,235,32                       ; shr           $0x20,%rbx
16987  DB  102,15,112,210,78                   ; pshufd        $0x4e,%xmm2,%xmm2
16988  DB  102,72,15,126,209                   ; movq          %xmm2,%rcx
16989  DB  65,137,202                          ; mov           %ecx,%r10d
16990  DB  72,193,233,32                       ; shr           $0x20,%rcx
16991  DB  71,15,182,20,17                     ; movzbl        (%r9,%r10,1),%r10d
16992  DB  65,15,182,12,9                      ; movzbl        (%r9,%rcx,1),%ecx
16993  DB  193,225,8                           ; shl           $0x8,%ecx
16994  DB  68,9,209                            ; or            %r10d,%ecx
16995  DB  71,15,182,4,1                       ; movzbl        (%r9,%r8,1),%r8d
16996  DB  65,15,182,28,25                     ; movzbl        (%r9,%rbx,1),%ebx
16997  DB  193,227,8                           ; shl           $0x8,%ebx
16998  DB  68,9,195                            ; or            %r8d,%ebx
16999  DB  102,15,196,211,0                    ; pinsrw        $0x0,%ebx,%xmm2
17000  DB  102,15,196,209,1                    ; pinsrw        $0x1,%ecx,%xmm2
17001  DB  102,65,15,96,209                    ; punpcklbw     %xmm9,%xmm2
17002  DB  102,65,15,97,209                    ; punpcklwd     %xmm9,%xmm2
17003  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
17004  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
17005  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
17006  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
17007  DB  102,15,91,219                       ; cvtps2dq      %xmm3,%xmm3
17008  DB  102,72,15,126,217                   ; movq          %xmm3,%rcx
17009  DB  65,137,200                          ; mov           %ecx,%r8d
17010  DB  72,193,233,32                       ; shr           $0x20,%rcx
17011  DB  102,15,112,219,78                   ; pshufd        $0x4e,%xmm3,%xmm3
17012  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
17013  DB  65,137,217                          ; mov           %ebx,%r9d
17014  DB  72,193,235,32                       ; shr           $0x20,%rbx
17015  DB  70,15,182,12,8                      ; movzbl        (%rax,%r9,1),%r9d
17016  DB  15,182,28,24                        ; movzbl        (%rax,%rbx,1),%ebx
17017  DB  193,227,8                           ; shl           $0x8,%ebx
17018  DB  68,9,203                            ; or            %r9d,%ebx
17019  DB  70,15,182,4,0                       ; movzbl        (%rax,%r8,1),%r8d
17020  DB  15,182,4,8                          ; movzbl        (%rax,%rcx,1),%eax
17021  DB  193,224,8                           ; shl           $0x8,%eax
17022  DB  68,9,192                            ; or            %r8d,%eax
17023  DB  102,15,196,216,0                    ; pinsrw        $0x0,%eax,%xmm3
17024  DB  102,15,196,219,1                    ; pinsrw        $0x1,%ebx,%xmm3
17025  DB  102,65,15,96,217                    ; punpcklbw     %xmm9,%xmm3
17026  DB  102,65,15,97,217                    ; punpcklwd     %xmm9,%xmm3
17027  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
17028  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
17029  DB  72,173                              ; lods          %ds:(%rsi),%rax
17030  DB  91                                  ; pop           %rbx
17031  DB  65,94                               ; pop           %r14
17032  DB  255,224                             ; jmpq          *%rax
17033
17034PUBLIC _sk_byte_tables_rgb_sse2
17035_sk_byte_tables_rgb_sse2 LABEL PROC
17036  DB  65,86                               ; push          %r14
17037  DB  83                                  ; push          %rbx
17038  DB  72,173                              ; lods          %ds:(%rsi),%rax
17039  DB  139,72,24                           ; mov           0x18(%rax),%ecx
17040  DB  255,201                             ; dec           %ecx
17041  DB  102,68,15,110,193                   ; movd          %ecx,%xmm8
17042  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
17043  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
17044  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
17045  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
17046  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
17047  DB  65,137,200                          ; mov           %ecx,%r8d
17048  DB  72,193,233,32                       ; shr           $0x20,%rcx
17049  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
17050  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
17051  DB  69,137,202                          ; mov           %r9d,%r10d
17052  DB  77,137,203                          ; mov           %r9,%r11
17053  DB  73,193,235,32                       ; shr           $0x20,%r11
17054  DB  76,139,48                           ; mov           (%rax),%r14
17055  DB  76,139,72,8                         ; mov           0x8(%rax),%r9
17056  DB  71,15,182,20,22                     ; movzbl        (%r14,%r10,1),%r10d
17057  DB  67,15,182,28,30                     ; movzbl        (%r14,%r11,1),%ebx
17058  DB  193,227,8                           ; shl           $0x8,%ebx
17059  DB  68,9,211                            ; or            %r10d,%ebx
17060  DB  71,15,182,4,6                       ; movzbl        (%r14,%r8,1),%r8d
17061  DB  65,15,182,12,14                     ; movzbl        (%r14,%rcx,1),%ecx
17062  DB  193,225,8                           ; shl           $0x8,%ecx
17063  DB  68,9,193                            ; or            %r8d,%ecx
17064  DB  102,15,196,193,0                    ; pinsrw        $0x0,%ecx,%xmm0
17065  DB  102,15,196,195,1                    ; pinsrw        $0x1,%ebx,%xmm0
17066  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
17067  DB  102,65,15,96,193                    ; punpcklbw     %xmm9,%xmm0
17068  DB  102,65,15,97,193                    ; punpcklwd     %xmm9,%xmm0
17069  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17070  DB  68,15,40,21,81,40,0,0               ; movaps        0x2851(%rip),%xmm10        # 42f0 <_sk_callback_sse2+0x4d2>
17071  DB  65,15,89,194                        ; mulps         %xmm10,%xmm0
17072  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
17073  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
17074  DB  102,72,15,126,201                   ; movq          %xmm1,%rcx
17075  DB  65,137,200                          ; mov           %ecx,%r8d
17076  DB  72,193,233,32                       ; shr           $0x20,%rcx
17077  DB  102,15,112,201,78                   ; pshufd        $0x4e,%xmm1,%xmm1
17078  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
17079  DB  65,137,218                          ; mov           %ebx,%r10d
17080  DB  72,193,235,32                       ; shr           $0x20,%rbx
17081  DB  71,15,182,20,17                     ; movzbl        (%r9,%r10,1),%r10d
17082  DB  65,15,182,28,25                     ; movzbl        (%r9,%rbx,1),%ebx
17083  DB  193,227,8                           ; shl           $0x8,%ebx
17084  DB  68,9,211                            ; or            %r10d,%ebx
17085  DB  71,15,182,4,1                       ; movzbl        (%r9,%r8,1),%r8d
17086  DB  65,15,182,12,9                      ; movzbl        (%r9,%rcx,1),%ecx
17087  DB  193,225,8                           ; shl           $0x8,%ecx
17088  DB  68,9,193                            ; or            %r8d,%ecx
17089  DB  102,15,196,201,0                    ; pinsrw        $0x0,%ecx,%xmm1
17090  DB  102,15,196,203,1                    ; pinsrw        $0x1,%ebx,%xmm1
17091  DB  102,65,15,96,201                    ; punpcklbw     %xmm9,%xmm1
17092  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
17093  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
17094  DB  65,15,89,202                        ; mulps         %xmm10,%xmm1
17095  DB  72,139,64,16                        ; mov           0x10(%rax),%rax
17096  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
17097  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
17098  DB  102,72,15,126,209                   ; movq          %xmm2,%rcx
17099  DB  65,137,200                          ; mov           %ecx,%r8d
17100  DB  72,193,233,32                       ; shr           $0x20,%rcx
17101  DB  102,15,112,210,78                   ; pshufd        $0x4e,%xmm2,%xmm2
17102  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
17103  DB  65,137,217                          ; mov           %ebx,%r9d
17104  DB  72,193,235,32                       ; shr           $0x20,%rbx
17105  DB  70,15,182,12,8                      ; movzbl        (%rax,%r9,1),%r9d
17106  DB  15,182,28,24                        ; movzbl        (%rax,%rbx,1),%ebx
17107  DB  193,227,8                           ; shl           $0x8,%ebx
17108  DB  68,9,203                            ; or            %r9d,%ebx
17109  DB  70,15,182,4,0                       ; movzbl        (%rax,%r8,1),%r8d
17110  DB  15,182,4,8                          ; movzbl        (%rax,%rcx,1),%eax
17111  DB  193,224,8                           ; shl           $0x8,%eax
17112  DB  68,9,192                            ; or            %r8d,%eax
17113  DB  102,15,196,208,0                    ; pinsrw        $0x0,%eax,%xmm2
17114  DB  102,15,196,211,1                    ; pinsrw        $0x1,%ebx,%xmm2
17115  DB  102,65,15,96,209                    ; punpcklbw     %xmm9,%xmm2
17116  DB  102,65,15,97,209                    ; punpcklwd     %xmm9,%xmm2
17117  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
17118  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
17119  DB  72,173                              ; lods          %ds:(%rsi),%rax
17120  DB  91                                  ; pop           %rbx
17121  DB  65,94                               ; pop           %r14
17122  DB  255,224                             ; jmpq          *%rax
17123
17124PUBLIC _sk_table_r_sse2
17125_sk_table_r_sse2 LABEL PROC
17126  DB  72,173                              ; lods          %ds:(%rsi),%rax
17127  DB  76,139,8                            ; mov           (%rax),%r9
17128  DB  139,64,8                            ; mov           0x8(%rax),%eax
17129  DB  255,200                             ; dec           %eax
17130  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
17131  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
17132  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
17133  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
17134  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
17135  DB  102,65,15,112,192,78                ; pshufd        $0x4e,%xmm8,%xmm0
17136  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
17137  DB  65,137,192                          ; mov           %eax,%r8d
17138  DB  72,193,232,32                       ; shr           $0x20,%rax
17139  DB  102,76,15,126,193                   ; movq          %xmm8,%rcx
17140  DB  65,137,202                          ; mov           %ecx,%r10d
17141  DB  72,193,233,32                       ; shr           $0x20,%rcx
17142  DB  243,69,15,16,4,137                  ; movss         (%r9,%rcx,4),%xmm8
17143  DB  243,65,15,16,4,129                  ; movss         (%r9,%rax,4),%xmm0
17144  DB  68,15,20,192                        ; unpcklps      %xmm0,%xmm8
17145  DB  243,67,15,16,4,145                  ; movss         (%r9,%r10,4),%xmm0
17146  DB  243,71,15,16,12,129                 ; movss         (%r9,%r8,4),%xmm9
17147  DB  65,15,20,193                        ; unpcklps      %xmm9,%xmm0
17148  DB  65,15,20,192                        ; unpcklps      %xmm8,%xmm0
17149  DB  72,173                              ; lods          %ds:(%rsi),%rax
17150  DB  255,224                             ; jmpq          *%rax
17151
17152PUBLIC _sk_table_g_sse2
17153_sk_table_g_sse2 LABEL PROC
17154  DB  72,173                              ; lods          %ds:(%rsi),%rax
17155  DB  76,139,8                            ; mov           (%rax),%r9
17156  DB  139,64,8                            ; mov           0x8(%rax),%eax
17157  DB  255,200                             ; dec           %eax
17158  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
17159  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
17160  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
17161  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
17162  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
17163  DB  102,65,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm1
17164  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
17165  DB  65,137,192                          ; mov           %eax,%r8d
17166  DB  72,193,232,32                       ; shr           $0x20,%rax
17167  DB  102,76,15,126,193                   ; movq          %xmm8,%rcx
17168  DB  65,137,202                          ; mov           %ecx,%r10d
17169  DB  72,193,233,32                       ; shr           $0x20,%rcx
17170  DB  243,69,15,16,4,137                  ; movss         (%r9,%rcx,4),%xmm8
17171  DB  243,65,15,16,12,129                 ; movss         (%r9,%rax,4),%xmm1
17172  DB  68,15,20,193                        ; unpcklps      %xmm1,%xmm8
17173  DB  243,67,15,16,12,145                 ; movss         (%r9,%r10,4),%xmm1
17174  DB  243,71,15,16,12,129                 ; movss         (%r9,%r8,4),%xmm9
17175  DB  65,15,20,201                        ; unpcklps      %xmm9,%xmm1
17176  DB  65,15,20,200                        ; unpcklps      %xmm8,%xmm1
17177  DB  72,173                              ; lods          %ds:(%rsi),%rax
17178  DB  255,224                             ; jmpq          *%rax
17179
17180PUBLIC _sk_table_b_sse2
17181_sk_table_b_sse2 LABEL PROC
17182  DB  72,173                              ; lods          %ds:(%rsi),%rax
17183  DB  76,139,8                            ; mov           (%rax),%r9
17184  DB  139,64,8                            ; mov           0x8(%rax),%eax
17185  DB  255,200                             ; dec           %eax
17186  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
17187  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
17188  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
17189  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
17190  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
17191  DB  102,65,15,112,208,78                ; pshufd        $0x4e,%xmm8,%xmm2
17192  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
17193  DB  65,137,192                          ; mov           %eax,%r8d
17194  DB  72,193,232,32                       ; shr           $0x20,%rax
17195  DB  102,76,15,126,193                   ; movq          %xmm8,%rcx
17196  DB  65,137,202                          ; mov           %ecx,%r10d
17197  DB  72,193,233,32                       ; shr           $0x20,%rcx
17198  DB  243,69,15,16,4,137                  ; movss         (%r9,%rcx,4),%xmm8
17199  DB  243,65,15,16,20,129                 ; movss         (%r9,%rax,4),%xmm2
17200  DB  68,15,20,194                        ; unpcklps      %xmm2,%xmm8
17201  DB  243,67,15,16,20,145                 ; movss         (%r9,%r10,4),%xmm2
17202  DB  243,71,15,16,12,129                 ; movss         (%r9,%r8,4),%xmm9
17203  DB  65,15,20,209                        ; unpcklps      %xmm9,%xmm2
17204  DB  65,15,20,208                        ; unpcklps      %xmm8,%xmm2
17205  DB  72,173                              ; lods          %ds:(%rsi),%rax
17206  DB  255,224                             ; jmpq          *%rax
17207
17208PUBLIC _sk_table_a_sse2
17209_sk_table_a_sse2 LABEL PROC
17210  DB  72,173                              ; lods          %ds:(%rsi),%rax
17211  DB  76,139,8                            ; mov           (%rax),%r9
17212  DB  139,64,8                            ; mov           0x8(%rax),%eax
17213  DB  255,200                             ; dec           %eax
17214  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
17215  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
17216  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
17217  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
17218  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
17219  DB  102,65,15,112,216,78                ; pshufd        $0x4e,%xmm8,%xmm3
17220  DB  102,72,15,126,216                   ; movq          %xmm3,%rax
17221  DB  65,137,192                          ; mov           %eax,%r8d
17222  DB  72,193,232,32                       ; shr           $0x20,%rax
17223  DB  102,76,15,126,193                   ; movq          %xmm8,%rcx
17224  DB  65,137,202                          ; mov           %ecx,%r10d
17225  DB  72,193,233,32                       ; shr           $0x20,%rcx
17226  DB  243,69,15,16,4,137                  ; movss         (%r9,%rcx,4),%xmm8
17227  DB  243,65,15,16,28,129                 ; movss         (%r9,%rax,4),%xmm3
17228  DB  68,15,20,195                        ; unpcklps      %xmm3,%xmm8
17229  DB  243,67,15,16,28,145                 ; movss         (%r9,%r10,4),%xmm3
17230  DB  243,71,15,16,12,129                 ; movss         (%r9,%r8,4),%xmm9
17231  DB  65,15,20,217                        ; unpcklps      %xmm9,%xmm3
17232  DB  65,15,20,216                        ; unpcklps      %xmm8,%xmm3
17233  DB  72,173                              ; lods          %ds:(%rsi),%rax
17234  DB  255,224                             ; jmpq          *%rax
17235
17236PUBLIC _sk_parametric_r_sse2
17237_sk_parametric_r_sse2 LABEL PROC
17238  DB  72,173                              ; lods          %ds:(%rsi),%rax
17239  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
17240  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17241  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
17242  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
17243  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
17244  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
17245  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
17246  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
17247  DB  65,15,194,193,2                     ; cmpleps       %xmm9,%xmm0
17248  DB  243,68,15,16,72,24                  ; movss         0x18(%rax),%xmm9
17249  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17250  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
17251  DB  243,68,15,16,24                     ; movss         (%rax),%xmm11
17252  DB  243,68,15,16,72,8                   ; movss         0x8(%rax),%xmm9
17253  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17254  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
17255  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
17256  DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
17257  DB  68,15,89,13,144,37,0,0              ; mulps         0x2590(%rip),%xmm9        # 4300 <_sk_callback_sse2+0x4e2>
17258  DB  68,15,84,21,152,37,0,0              ; andps         0x2598(%rip),%xmm10        # 4310 <_sk_callback_sse2+0x4f2>
17259  DB  68,15,86,21,160,37,0,0              ; orps          0x25a0(%rip),%xmm10        # 4320 <_sk_callback_sse2+0x502>
17260  DB  68,15,88,13,168,37,0,0              ; addps         0x25a8(%rip),%xmm9        # 4330 <_sk_callback_sse2+0x512>
17261  DB  68,15,40,37,176,37,0,0              ; movaps        0x25b0(%rip),%xmm12        # 4340 <_sk_callback_sse2+0x522>
17262  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
17263  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17264  DB  68,15,88,21,176,37,0,0              ; addps         0x25b0(%rip),%xmm10        # 4350 <_sk_callback_sse2+0x532>
17265  DB  68,15,40,37,184,37,0,0              ; movaps        0x25b8(%rip),%xmm12        # 4360 <_sk_callback_sse2+0x542>
17266  DB  69,15,94,226                        ; divps         %xmm10,%xmm12
17267  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17268  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
17269  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
17270  DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
17271  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17272  DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
17273  DB  68,15,40,21,162,37,0,0              ; movaps        0x25a2(%rip),%xmm10        # 4370 <_sk_callback_sse2+0x552>
17274  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
17275  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
17276  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17277  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17278  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
17279  DB  68,15,88,13,150,37,0,0              ; addps         0x2596(%rip),%xmm9        # 4380 <_sk_callback_sse2+0x562>
17280  DB  68,15,40,37,158,37,0,0              ; movaps        0x259e(%rip),%xmm12        # 4390 <_sk_callback_sse2+0x572>
17281  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
17282  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17283  DB  68,15,40,37,158,37,0,0              ; movaps        0x259e(%rip),%xmm12        # 43a0 <_sk_callback_sse2+0x582>
17284  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17285  DB  68,15,40,45,162,37,0,0              ; movaps        0x25a2(%rip),%xmm13        # 43b0 <_sk_callback_sse2+0x592>
17286  DB  69,15,94,236                        ; divps         %xmm12,%xmm13
17287  DB  69,15,88,233                        ; addps         %xmm9,%xmm13
17288  DB  68,15,89,45,162,37,0,0              ; mulps         0x25a2(%rip),%xmm13        # 43c0 <_sk_callback_sse2+0x5a2>
17289  DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
17290  DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
17291  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
17292  DB  69,15,88,225                        ; addps         %xmm9,%xmm12
17293  DB  68,15,84,192                        ; andps         %xmm0,%xmm8
17294  DB  65,15,85,196                        ; andnps        %xmm12,%xmm0
17295  DB  65,15,86,192                        ; orps          %xmm8,%xmm0
17296  DB  65,15,95,195                        ; maxps         %xmm11,%xmm0
17297  DB  65,15,93,194                        ; minps         %xmm10,%xmm0
17298  DB  72,173                              ; lods          %ds:(%rsi),%rax
17299  DB  255,224                             ; jmpq          *%rax
17300
17301PUBLIC _sk_parametric_g_sse2
17302_sk_parametric_g_sse2 LABEL PROC
17303  DB  72,173                              ; lods          %ds:(%rsi),%rax
17304  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
17305  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17306  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
17307  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
17308  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
17309  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
17310  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
17311  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
17312  DB  65,15,194,201,2                     ; cmpleps       %xmm9,%xmm1
17313  DB  243,68,15,16,72,24                  ; movss         0x18(%rax),%xmm9
17314  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17315  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
17316  DB  243,68,15,16,24                     ; movss         (%rax),%xmm11
17317  DB  243,68,15,16,72,8                   ; movss         0x8(%rax),%xmm9
17318  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17319  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
17320  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
17321  DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
17322  DB  68,15,89,13,34,37,0,0               ; mulps         0x2522(%rip),%xmm9        # 43d0 <_sk_callback_sse2+0x5b2>
17323  DB  68,15,84,21,42,37,0,0               ; andps         0x252a(%rip),%xmm10        # 43e0 <_sk_callback_sse2+0x5c2>
17324  DB  68,15,86,21,50,37,0,0               ; orps          0x2532(%rip),%xmm10        # 43f0 <_sk_callback_sse2+0x5d2>
17325  DB  68,15,88,13,58,37,0,0               ; addps         0x253a(%rip),%xmm9        # 4400 <_sk_callback_sse2+0x5e2>
17326  DB  68,15,40,37,66,37,0,0               ; movaps        0x2542(%rip),%xmm12        # 4410 <_sk_callback_sse2+0x5f2>
17327  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
17328  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17329  DB  68,15,88,21,66,37,0,0               ; addps         0x2542(%rip),%xmm10        # 4420 <_sk_callback_sse2+0x602>
17330  DB  68,15,40,37,74,37,0,0               ; movaps        0x254a(%rip),%xmm12        # 4430 <_sk_callback_sse2+0x612>
17331  DB  69,15,94,226                        ; divps         %xmm10,%xmm12
17332  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17333  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
17334  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
17335  DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
17336  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17337  DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
17338  DB  68,15,40,21,52,37,0,0               ; movaps        0x2534(%rip),%xmm10        # 4440 <_sk_callback_sse2+0x622>
17339  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
17340  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
17341  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17342  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17343  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
17344  DB  68,15,88,13,40,37,0,0               ; addps         0x2528(%rip),%xmm9        # 4450 <_sk_callback_sse2+0x632>
17345  DB  68,15,40,37,48,37,0,0               ; movaps        0x2530(%rip),%xmm12        # 4460 <_sk_callback_sse2+0x642>
17346  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
17347  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17348  DB  68,15,40,37,48,37,0,0               ; movaps        0x2530(%rip),%xmm12        # 4470 <_sk_callback_sse2+0x652>
17349  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17350  DB  68,15,40,45,52,37,0,0               ; movaps        0x2534(%rip),%xmm13        # 4480 <_sk_callback_sse2+0x662>
17351  DB  69,15,94,236                        ; divps         %xmm12,%xmm13
17352  DB  69,15,88,233                        ; addps         %xmm9,%xmm13
17353  DB  68,15,89,45,52,37,0,0               ; mulps         0x2534(%rip),%xmm13        # 4490 <_sk_callback_sse2+0x672>
17354  DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
17355  DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
17356  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
17357  DB  69,15,88,225                        ; addps         %xmm9,%xmm12
17358  DB  68,15,84,193                        ; andps         %xmm1,%xmm8
17359  DB  65,15,85,204                        ; andnps        %xmm12,%xmm1
17360  DB  65,15,86,200                        ; orps          %xmm8,%xmm1
17361  DB  65,15,95,203                        ; maxps         %xmm11,%xmm1
17362  DB  65,15,93,202                        ; minps         %xmm10,%xmm1
17363  DB  72,173                              ; lods          %ds:(%rsi),%rax
17364  DB  255,224                             ; jmpq          *%rax
17365
17366PUBLIC _sk_parametric_b_sse2
17367_sk_parametric_b_sse2 LABEL PROC
17368  DB  72,173                              ; lods          %ds:(%rsi),%rax
17369  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
17370  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17371  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
17372  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
17373  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
17374  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
17375  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
17376  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
17377  DB  65,15,194,209,2                     ; cmpleps       %xmm9,%xmm2
17378  DB  243,68,15,16,72,24                  ; movss         0x18(%rax),%xmm9
17379  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17380  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
17381  DB  243,68,15,16,24                     ; movss         (%rax),%xmm11
17382  DB  243,68,15,16,72,8                   ; movss         0x8(%rax),%xmm9
17383  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17384  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
17385  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
17386  DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
17387  DB  68,15,89,13,180,36,0,0              ; mulps         0x24b4(%rip),%xmm9        # 44a0 <_sk_callback_sse2+0x682>
17388  DB  68,15,84,21,188,36,0,0              ; andps         0x24bc(%rip),%xmm10        # 44b0 <_sk_callback_sse2+0x692>
17389  DB  68,15,86,21,196,36,0,0              ; orps          0x24c4(%rip),%xmm10        # 44c0 <_sk_callback_sse2+0x6a2>
17390  DB  68,15,88,13,204,36,0,0              ; addps         0x24cc(%rip),%xmm9        # 44d0 <_sk_callback_sse2+0x6b2>
17391  DB  68,15,40,37,212,36,0,0              ; movaps        0x24d4(%rip),%xmm12        # 44e0 <_sk_callback_sse2+0x6c2>
17392  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
17393  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17394  DB  68,15,88,21,212,36,0,0              ; addps         0x24d4(%rip),%xmm10        # 44f0 <_sk_callback_sse2+0x6d2>
17395  DB  68,15,40,37,220,36,0,0              ; movaps        0x24dc(%rip),%xmm12        # 4500 <_sk_callback_sse2+0x6e2>
17396  DB  69,15,94,226                        ; divps         %xmm10,%xmm12
17397  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17398  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
17399  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
17400  DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
17401  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17402  DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
17403  DB  68,15,40,21,198,36,0,0              ; movaps        0x24c6(%rip),%xmm10        # 4510 <_sk_callback_sse2+0x6f2>
17404  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
17405  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
17406  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17407  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17408  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
17409  DB  68,15,88,13,186,36,0,0              ; addps         0x24ba(%rip),%xmm9        # 4520 <_sk_callback_sse2+0x702>
17410  DB  68,15,40,37,194,36,0,0              ; movaps        0x24c2(%rip),%xmm12        # 4530 <_sk_callback_sse2+0x712>
17411  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
17412  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17413  DB  68,15,40,37,194,36,0,0              ; movaps        0x24c2(%rip),%xmm12        # 4540 <_sk_callback_sse2+0x722>
17414  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17415  DB  68,15,40,45,198,36,0,0              ; movaps        0x24c6(%rip),%xmm13        # 4550 <_sk_callback_sse2+0x732>
17416  DB  69,15,94,236                        ; divps         %xmm12,%xmm13
17417  DB  69,15,88,233                        ; addps         %xmm9,%xmm13
17418  DB  68,15,89,45,198,36,0,0              ; mulps         0x24c6(%rip),%xmm13        # 4560 <_sk_callback_sse2+0x742>
17419  DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
17420  DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
17421  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
17422  DB  69,15,88,225                        ; addps         %xmm9,%xmm12
17423  DB  68,15,84,194                        ; andps         %xmm2,%xmm8
17424  DB  65,15,85,212                        ; andnps        %xmm12,%xmm2
17425  DB  65,15,86,208                        ; orps          %xmm8,%xmm2
17426  DB  65,15,95,211                        ; maxps         %xmm11,%xmm2
17427  DB  65,15,93,210                        ; minps         %xmm10,%xmm2
17428  DB  72,173                              ; lods          %ds:(%rsi),%rax
17429  DB  255,224                             ; jmpq          *%rax
17430
17431PUBLIC _sk_parametric_a_sse2
17432_sk_parametric_a_sse2 LABEL PROC
17433  DB  72,173                              ; lods          %ds:(%rsi),%rax
17434  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
17435  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17436  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
17437  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
17438  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
17439  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
17440  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
17441  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
17442  DB  65,15,194,217,2                     ; cmpleps       %xmm9,%xmm3
17443  DB  243,68,15,16,72,24                  ; movss         0x18(%rax),%xmm9
17444  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17445  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
17446  DB  243,68,15,16,24                     ; movss         (%rax),%xmm11
17447  DB  243,68,15,16,72,8                   ; movss         0x8(%rax),%xmm9
17448  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
17449  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
17450  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
17451  DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
17452  DB  68,15,89,13,70,36,0,0               ; mulps         0x2446(%rip),%xmm9        # 4570 <_sk_callback_sse2+0x752>
17453  DB  68,15,84,21,78,36,0,0               ; andps         0x244e(%rip),%xmm10        # 4580 <_sk_callback_sse2+0x762>
17454  DB  68,15,86,21,86,36,0,0               ; orps          0x2456(%rip),%xmm10        # 4590 <_sk_callback_sse2+0x772>
17455  DB  68,15,88,13,94,36,0,0               ; addps         0x245e(%rip),%xmm9        # 45a0 <_sk_callback_sse2+0x782>
17456  DB  68,15,40,37,102,36,0,0              ; movaps        0x2466(%rip),%xmm12        # 45b0 <_sk_callback_sse2+0x792>
17457  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
17458  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17459  DB  68,15,88,21,102,36,0,0              ; addps         0x2466(%rip),%xmm10        # 45c0 <_sk_callback_sse2+0x7a2>
17460  DB  68,15,40,37,110,36,0,0              ; movaps        0x246e(%rip),%xmm12        # 45d0 <_sk_callback_sse2+0x7b2>
17461  DB  69,15,94,226                        ; divps         %xmm10,%xmm12
17462  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17463  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
17464  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
17465  DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
17466  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17467  DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
17468  DB  68,15,40,21,88,36,0,0               ; movaps        0x2458(%rip),%xmm10        # 45e0 <_sk_callback_sse2+0x7c2>
17469  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
17470  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
17471  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17472  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
17473  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
17474  DB  68,15,88,13,76,36,0,0               ; addps         0x244c(%rip),%xmm9        # 45f0 <_sk_callback_sse2+0x7d2>
17475  DB  68,15,40,37,84,36,0,0               ; movaps        0x2454(%rip),%xmm12        # 4600 <_sk_callback_sse2+0x7e2>
17476  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
17477  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
17478  DB  68,15,40,37,84,36,0,0               ; movaps        0x2454(%rip),%xmm12        # 4610 <_sk_callback_sse2+0x7f2>
17479  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
17480  DB  68,15,40,45,88,36,0,0               ; movaps        0x2458(%rip),%xmm13        # 4620 <_sk_callback_sse2+0x802>
17481  DB  69,15,94,236                        ; divps         %xmm12,%xmm13
17482  DB  69,15,88,233                        ; addps         %xmm9,%xmm13
17483  DB  68,15,89,45,88,36,0,0               ; mulps         0x2458(%rip),%xmm13        # 4630 <_sk_callback_sse2+0x812>
17484  DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
17485  DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
17486  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
17487  DB  69,15,88,225                        ; addps         %xmm9,%xmm12
17488  DB  68,15,84,195                        ; andps         %xmm3,%xmm8
17489  DB  65,15,85,220                        ; andnps        %xmm12,%xmm3
17490  DB  65,15,86,216                        ; orps          %xmm8,%xmm3
17491  DB  65,15,95,219                        ; maxps         %xmm11,%xmm3
17492  DB  65,15,93,218                        ; minps         %xmm10,%xmm3
17493  DB  72,173                              ; lods          %ds:(%rsi),%rax
17494  DB  255,224                             ; jmpq          *%rax
17495
17496PUBLIC _sk_lab_to_xyz_sse2
17497_sk_lab_to_xyz_sse2 LABEL PROC
17498  DB  15,89,5,53,36,0,0                   ; mulps         0x2435(%rip),%xmm0        # 4640 <_sk_callback_sse2+0x822>
17499  DB  68,15,40,5,61,36,0,0                ; movaps        0x243d(%rip),%xmm8        # 4650 <_sk_callback_sse2+0x832>
17500  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
17501  DB  68,15,40,13,65,36,0,0               ; movaps        0x2441(%rip),%xmm9        # 4660 <_sk_callback_sse2+0x842>
17502  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
17503  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
17504  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
17505  DB  15,88,5,62,36,0,0                   ; addps         0x243e(%rip),%xmm0        # 4670 <_sk_callback_sse2+0x852>
17506  DB  15,89,5,71,36,0,0                   ; mulps         0x2447(%rip),%xmm0        # 4680 <_sk_callback_sse2+0x862>
17507  DB  15,89,13,80,36,0,0                  ; mulps         0x2450(%rip),%xmm1        # 4690 <_sk_callback_sse2+0x872>
17508  DB  15,88,200                           ; addps         %xmm0,%xmm1
17509  DB  15,89,21,86,36,0,0                  ; mulps         0x2456(%rip),%xmm2        # 46a0 <_sk_callback_sse2+0x882>
17510  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
17511  DB  68,15,92,202                        ; subps         %xmm2,%xmm9
17512  DB  68,15,40,225                        ; movaps        %xmm1,%xmm12
17513  DB  69,15,89,228                        ; mulps         %xmm12,%xmm12
17514  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
17515  DB  15,40,21,75,36,0,0                  ; movaps        0x244b(%rip),%xmm2        # 46b0 <_sk_callback_sse2+0x892>
17516  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
17517  DB  69,15,194,196,1                     ; cmpltps       %xmm12,%xmm8
17518  DB  68,15,40,21,74,36,0,0               ; movaps        0x244a(%rip),%xmm10        # 46c0 <_sk_callback_sse2+0x8a2>
17519  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
17520  DB  68,15,40,29,78,36,0,0               ; movaps        0x244e(%rip),%xmm11        # 46d0 <_sk_callback_sse2+0x8b2>
17521  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
17522  DB  69,15,84,224                        ; andps         %xmm8,%xmm12
17523  DB  68,15,85,193                        ; andnps        %xmm1,%xmm8
17524  DB  69,15,86,196                        ; orps          %xmm12,%xmm8
17525  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
17526  DB  69,15,89,228                        ; mulps         %xmm12,%xmm12
17527  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
17528  DB  15,40,202                           ; movaps        %xmm2,%xmm1
17529  DB  65,15,194,204,1                     ; cmpltps       %xmm12,%xmm1
17530  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
17531  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
17532  DB  68,15,84,225                        ; andps         %xmm1,%xmm12
17533  DB  15,85,200                           ; andnps        %xmm0,%xmm1
17534  DB  65,15,86,204                        ; orps          %xmm12,%xmm1
17535  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
17536  DB  15,89,192                           ; mulps         %xmm0,%xmm0
17537  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
17538  DB  15,194,208,1                        ; cmpltps       %xmm0,%xmm2
17539  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
17540  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
17541  DB  15,84,194                           ; andps         %xmm2,%xmm0
17542  DB  65,15,85,209                        ; andnps        %xmm9,%xmm2
17543  DB  15,86,208                           ; orps          %xmm0,%xmm2
17544  DB  68,15,89,5,254,35,0,0               ; mulps         0x23fe(%rip),%xmm8        # 46e0 <_sk_callback_sse2+0x8c2>
17545  DB  15,89,21,7,36,0,0                   ; mulps         0x2407(%rip),%xmm2        # 46f0 <_sk_callback_sse2+0x8d2>
17546  DB  72,173                              ; lods          %ds:(%rsi),%rax
17547  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
17548  DB  255,224                             ; jmpq          *%rax
17549
17550PUBLIC _sk_load_a8_sse2
17551_sk_load_a8_sse2 LABEL PROC
17552  DB  72,173                              ; lods          %ds:(%rsi),%rax
17553  DB  72,139,0                            ; mov           (%rax),%rax
17554  DB  102,15,110,4,56                     ; movd          (%rax,%rdi,1),%xmm0
17555  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
17556  DB  102,15,96,193                       ; punpcklbw     %xmm1,%xmm0
17557  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
17558  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
17559  DB  15,89,29,239,35,0,0                 ; mulps         0x23ef(%rip),%xmm3        # 4700 <_sk_callback_sse2+0x8e2>
17560  DB  72,173                              ; lods          %ds:(%rsi),%rax
17561  DB  15,87,192                           ; xorps         %xmm0,%xmm0
17562  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
17563  DB  15,87,210                           ; xorps         %xmm2,%xmm2
17564  DB  255,224                             ; jmpq          *%rax
17565
17566PUBLIC _sk_gather_a8_sse2
17567_sk_gather_a8_sse2 LABEL PROC
17568  DB  72,173                              ; lods          %ds:(%rsi),%rax
17569  DB  76,139,8                            ; mov           (%rax),%r9
17570  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
17571  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
17572  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
17573  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
17574  DB  102,15,244,218                      ; pmuludq       %xmm2,%xmm3
17575  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
17576  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
17577  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
17578  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
17579  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
17580  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
17581  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
17582  DB  65,137,192                          ; mov           %eax,%r8d
17583  DB  72,193,232,32                       ; shr           $0x20,%rax
17584  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
17585  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
17586  DB  65,137,202                          ; mov           %ecx,%r10d
17587  DB  72,193,233,32                       ; shr           $0x20,%rcx
17588  DB  71,15,182,20,17                     ; movzbl        (%r9,%r10,1),%r10d
17589  DB  65,15,182,12,9                      ; movzbl        (%r9,%rcx,1),%ecx
17590  DB  193,225,8                           ; shl           $0x8,%ecx
17591  DB  68,9,209                            ; or            %r10d,%ecx
17592  DB  71,15,182,4,1                       ; movzbl        (%r9,%r8,1),%r8d
17593  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
17594  DB  193,224,8                           ; shl           $0x8,%eax
17595  DB  68,9,192                            ; or            %r8d,%eax
17596  DB  102,15,196,192,0                    ; pinsrw        $0x0,%eax,%xmm0
17597  DB  102,15,196,193,1                    ; pinsrw        $0x1,%ecx,%xmm0
17598  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
17599  DB  102,15,96,193                       ; punpcklbw     %xmm1,%xmm0
17600  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
17601  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
17602  DB  15,89,29,94,35,0,0                  ; mulps         0x235e(%rip),%xmm3        # 4710 <_sk_callback_sse2+0x8f2>
17603  DB  72,173                              ; lods          %ds:(%rsi),%rax
17604  DB  15,87,192                           ; xorps         %xmm0,%xmm0
17605  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
17606  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
17607  DB  255,224                             ; jmpq          *%rax
17608
17609PUBLIC _sk_store_a8_sse2
17610_sk_store_a8_sse2 LABEL PROC
17611  DB  72,173                              ; lods          %ds:(%rsi),%rax
17612  DB  72,139,0                            ; mov           (%rax),%rax
17613  DB  68,15,40,5,82,35,0,0                ; movaps        0x2352(%rip),%xmm8        # 4720 <_sk_callback_sse2+0x902>
17614  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
17615  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
17616  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
17617  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
17618  DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
17619  DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
17620  DB  102,68,15,126,4,56                  ; movd          %xmm8,(%rax,%rdi,1)
17621  DB  72,173                              ; lods          %ds:(%rsi),%rax
17622  DB  255,224                             ; jmpq          *%rax
17623
17624PUBLIC _sk_load_g8_sse2
17625_sk_load_g8_sse2 LABEL PROC
17626  DB  72,173                              ; lods          %ds:(%rsi),%rax
17627  DB  72,139,0                            ; mov           (%rax),%rax
17628  DB  102,15,110,4,56                     ; movd          (%rax,%rdi,1),%xmm0
17629  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
17630  DB  102,15,96,193                       ; punpcklbw     %xmm1,%xmm0
17631  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
17632  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17633  DB  15,89,5,25,35,0,0                   ; mulps         0x2319(%rip),%xmm0        # 4730 <_sk_callback_sse2+0x912>
17634  DB  72,173                              ; lods          %ds:(%rsi),%rax
17635  DB  15,40,29,32,35,0,0                  ; movaps        0x2320(%rip),%xmm3        # 4740 <_sk_callback_sse2+0x922>
17636  DB  15,40,200                           ; movaps        %xmm0,%xmm1
17637  DB  15,40,208                           ; movaps        %xmm0,%xmm2
17638  DB  255,224                             ; jmpq          *%rax
17639
17640PUBLIC _sk_gather_g8_sse2
17641_sk_gather_g8_sse2 LABEL PROC
17642  DB  72,173                              ; lods          %ds:(%rsi),%rax
17643  DB  76,139,8                            ; mov           (%rax),%r9
17644  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
17645  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
17646  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
17647  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
17648  DB  102,15,244,218                      ; pmuludq       %xmm2,%xmm3
17649  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
17650  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
17651  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
17652  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
17653  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
17654  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
17655  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
17656  DB  65,137,192                          ; mov           %eax,%r8d
17657  DB  72,193,232,32                       ; shr           $0x20,%rax
17658  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
17659  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
17660  DB  65,137,202                          ; mov           %ecx,%r10d
17661  DB  72,193,233,32                       ; shr           $0x20,%rcx
17662  DB  71,15,182,20,17                     ; movzbl        (%r9,%r10,1),%r10d
17663  DB  65,15,182,12,9                      ; movzbl        (%r9,%rcx,1),%ecx
17664  DB  193,225,8                           ; shl           $0x8,%ecx
17665  DB  68,9,209                            ; or            %r10d,%ecx
17666  DB  71,15,182,4,1                       ; movzbl        (%r9,%r8,1),%r8d
17667  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
17668  DB  193,224,8                           ; shl           $0x8,%eax
17669  DB  68,9,192                            ; or            %r8d,%eax
17670  DB  102,15,196,192,0                    ; pinsrw        $0x0,%eax,%xmm0
17671  DB  102,15,196,193,1                    ; pinsrw        $0x1,%ecx,%xmm0
17672  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
17673  DB  102,15,96,193                       ; punpcklbw     %xmm1,%xmm0
17674  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
17675  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17676  DB  15,89,5,149,34,0,0                  ; mulps         0x2295(%rip),%xmm0        # 4750 <_sk_callback_sse2+0x932>
17677  DB  72,173                              ; lods          %ds:(%rsi),%rax
17678  DB  15,40,29,156,34,0,0                 ; movaps        0x229c(%rip),%xmm3        # 4760 <_sk_callback_sse2+0x942>
17679  DB  15,40,200                           ; movaps        %xmm0,%xmm1
17680  DB  15,40,208                           ; movaps        %xmm0,%xmm2
17681  DB  255,224                             ; jmpq          *%rax
17682
17683PUBLIC _sk_gather_i8_sse2
17684_sk_gather_i8_sse2 LABEL PROC
17685  DB  72,173                              ; lods          %ds:(%rsi),%rax
17686  DB  73,137,192                          ; mov           %rax,%r8
17687  DB  77,133,192                          ; test          %r8,%r8
17688  DB  116,5                               ; je            24db <_sk_gather_i8_sse2+0xf>
17689  DB  76,137,192                          ; mov           %r8,%rax
17690  DB  235,2                               ; jmp           24dd <_sk_gather_i8_sse2+0x11>
17691  DB  72,173                              ; lods          %ds:(%rsi),%rax
17692  DB  76,139,16                           ; mov           (%rax),%r10
17693  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
17694  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
17695  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
17696  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
17697  DB  102,15,244,218                      ; pmuludq       %xmm2,%xmm3
17698  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
17699  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
17700  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
17701  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
17702  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
17703  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
17704  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
17705  DB  65,137,193                          ; mov           %eax,%r9d
17706  DB  72,193,232,32                       ; shr           $0x20,%rax
17707  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
17708  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
17709  DB  65,137,203                          ; mov           %ecx,%r11d
17710  DB  72,193,233,32                       ; shr           $0x20,%rcx
17711  DB  71,15,182,28,26                     ; movzbl        (%r10,%r11,1),%r11d
17712  DB  65,15,182,12,10                     ; movzbl        (%r10,%rcx,1),%ecx
17713  DB  193,225,8                           ; shl           $0x8,%ecx
17714  DB  68,9,217                            ; or            %r11d,%ecx
17715  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
17716  DB  65,15,182,4,2                       ; movzbl        (%r10,%rax,1),%eax
17717  DB  193,224,8                           ; shl           $0x8,%eax
17718  DB  68,9,200                            ; or            %r9d,%eax
17719  DB  102,15,196,192,0                    ; pinsrw        $0x0,%eax,%xmm0
17720  DB  102,15,196,193,1                    ; pinsrw        $0x1,%ecx,%xmm0
17721  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
17722  DB  102,15,96,193                       ; punpcklbw     %xmm1,%xmm0
17723  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
17724  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
17725  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
17726  DB  68,15,182,200                       ; movzbl        %al,%r9d
17727  DB  72,193,232,32                       ; shr           $0x20,%rax
17728  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
17729  DB  77,139,64,8                         ; mov           0x8(%r8),%r8
17730  DB  68,15,182,209                       ; movzbl        %cl,%r10d
17731  DB  72,193,233,30                       ; shr           $0x1e,%rcx
17732  DB  102,65,15,110,4,8                   ; movd          (%r8,%rcx,1),%xmm0
17733  DB  102,65,15,110,12,128                ; movd          (%r8,%rax,4),%xmm1
17734  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
17735  DB  102,71,15,110,12,144                ; movd          (%r8,%r10,4),%xmm9
17736  DB  102,67,15,110,12,136                ; movd          (%r8,%r9,4),%xmm1
17737  DB  102,68,15,98,201                    ; punpckldq     %xmm1,%xmm9
17738  DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
17739  DB  102,15,111,21,187,33,0,0            ; movdqa        0x21bb(%rip),%xmm2        # 4770 <_sk_callback_sse2+0x952>
17740  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
17741  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
17742  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17743  DB  68,15,40,5,183,33,0,0               ; movaps        0x21b7(%rip),%xmm8        # 4780 <_sk_callback_sse2+0x962>
17744  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
17745  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
17746  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
17747  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
17748  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
17749  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
17750  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
17751  DB  102,15,114,211,16                   ; psrld         $0x10,%xmm3
17752  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
17753  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
17754  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
17755  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
17756  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
17757  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
17758  DB  72,173                              ; lods          %ds:(%rsi),%rax
17759  DB  255,224                             ; jmpq          *%rax
17760
17761PUBLIC _sk_load_565_sse2
17762_sk_load_565_sse2 LABEL PROC
17763  DB  72,173                              ; lods          %ds:(%rsi),%rax
17764  DB  72,139,0                            ; mov           (%rax),%rax
17765  DB  243,15,126,20,120                   ; movq          (%rax,%rdi,2),%xmm2
17766  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
17767  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
17768  DB  102,15,111,5,109,33,0,0             ; movdqa        0x216d(%rip),%xmm0        # 4790 <_sk_callback_sse2+0x972>
17769  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
17770  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17771  DB  15,89,5,111,33,0,0                  ; mulps         0x216f(%rip),%xmm0        # 47a0 <_sk_callback_sse2+0x982>
17772  DB  102,15,111,13,119,33,0,0            ; movdqa        0x2177(%rip),%xmm1        # 47b0 <_sk_callback_sse2+0x992>
17773  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
17774  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
17775  DB  15,89,13,121,33,0,0                 ; mulps         0x2179(%rip),%xmm1        # 47c0 <_sk_callback_sse2+0x9a2>
17776  DB  102,15,219,21,129,33,0,0            ; pand          0x2181(%rip),%xmm2        # 47d0 <_sk_callback_sse2+0x9b2>
17777  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
17778  DB  15,89,21,135,33,0,0                 ; mulps         0x2187(%rip),%xmm2        # 47e0 <_sk_callback_sse2+0x9c2>
17779  DB  72,173                              ; lods          %ds:(%rsi),%rax
17780  DB  15,40,29,142,33,0,0                 ; movaps        0x218e(%rip),%xmm3        # 47f0 <_sk_callback_sse2+0x9d2>
17781  DB  255,224                             ; jmpq          *%rax
17782
17783PUBLIC _sk_gather_565_sse2
17784_sk_gather_565_sse2 LABEL PROC
17785  DB  72,173                              ; lods          %ds:(%rsi),%rax
17786  DB  76,139,8                            ; mov           (%rax),%r9
17787  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
17788  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
17789  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
17790  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
17791  DB  102,15,244,218                      ; pmuludq       %xmm2,%xmm3
17792  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
17793  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
17794  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
17795  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
17796  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
17797  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
17798  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
17799  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
17800  DB  65,137,192                          ; mov           %eax,%r8d
17801  DB  72,193,232,32                       ; shr           $0x20,%rax
17802  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
17803  DB  65,137,202                          ; mov           %ecx,%r10d
17804  DB  72,193,233,32                       ; shr           $0x20,%rcx
17805  DB  102,67,15,196,20,81,0               ; pinsrw        $0x0,(%r9,%r10,2),%xmm2
17806  DB  102,65,15,196,20,73,1               ; pinsrw        $0x1,(%r9,%rcx,2),%xmm2
17807  DB  67,15,183,12,65                     ; movzwl        (%r9,%r8,2),%ecx
17808  DB  102,15,196,209,2                    ; pinsrw        $0x2,%ecx,%xmm2
17809  DB  65,15,183,4,65                      ; movzwl        (%r9,%rax,2),%eax
17810  DB  102,15,196,208,3                    ; pinsrw        $0x3,%eax,%xmm2
17811  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
17812  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
17813  DB  102,15,111,5,23,33,0,0              ; movdqa        0x2117(%rip),%xmm0        # 4800 <_sk_callback_sse2+0x9e2>
17814  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
17815  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17816  DB  15,89,5,25,33,0,0                   ; mulps         0x2119(%rip),%xmm0        # 4810 <_sk_callback_sse2+0x9f2>
17817  DB  102,15,111,13,33,33,0,0             ; movdqa        0x2121(%rip),%xmm1        # 4820 <_sk_callback_sse2+0xa02>
17818  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
17819  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
17820  DB  15,89,13,35,33,0,0                  ; mulps         0x2123(%rip),%xmm1        # 4830 <_sk_callback_sse2+0xa12>
17821  DB  102,15,219,21,43,33,0,0             ; pand          0x212b(%rip),%xmm2        # 4840 <_sk_callback_sse2+0xa22>
17822  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
17823  DB  15,89,21,49,33,0,0                  ; mulps         0x2131(%rip),%xmm2        # 4850 <_sk_callback_sse2+0xa32>
17824  DB  72,173                              ; lods          %ds:(%rsi),%rax
17825  DB  15,40,29,56,33,0,0                  ; movaps        0x2138(%rip),%xmm3        # 4860 <_sk_callback_sse2+0xa42>
17826  DB  255,224                             ; jmpq          *%rax
17827
17828PUBLIC _sk_store_565_sse2
17829_sk_store_565_sse2 LABEL PROC
17830  DB  72,173                              ; lods          %ds:(%rsi),%rax
17831  DB  72,139,0                            ; mov           (%rax),%rax
17832  DB  68,15,40,5,57,33,0,0                ; movaps        0x2139(%rip),%xmm8        # 4870 <_sk_callback_sse2+0xa52>
17833  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
17834  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
17835  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
17836  DB  102,65,15,114,241,11                ; pslld         $0xb,%xmm9
17837  DB  68,15,40,21,46,33,0,0               ; movaps        0x212e(%rip),%xmm10        # 4880 <_sk_callback_sse2+0xa62>
17838  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
17839  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
17840  DB  102,65,15,114,242,5                 ; pslld         $0x5,%xmm10
17841  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
17842  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
17843  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
17844  DB  102,69,15,86,194                    ; orpd          %xmm10,%xmm8
17845  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
17846  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
17847  DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
17848  DB  102,68,15,214,4,120                 ; movq          %xmm8,(%rax,%rdi,2)
17849  DB  72,173                              ; lods          %ds:(%rsi),%rax
17850  DB  255,224                             ; jmpq          *%rax
17851
17852PUBLIC _sk_load_4444_sse2
17853_sk_load_4444_sse2 LABEL PROC
17854  DB  72,173                              ; lods          %ds:(%rsi),%rax
17855  DB  72,139,0                            ; mov           (%rax),%rax
17856  DB  243,15,126,28,120                   ; movq          (%rax,%rdi,2),%xmm3
17857  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
17858  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
17859  DB  102,15,111,5,231,32,0,0             ; movdqa        0x20e7(%rip),%xmm0        # 4890 <_sk_callback_sse2+0xa72>
17860  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
17861  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17862  DB  15,89,5,233,32,0,0                  ; mulps         0x20e9(%rip),%xmm0        # 48a0 <_sk_callback_sse2+0xa82>
17863  DB  102,15,111,13,241,32,0,0            ; movdqa        0x20f1(%rip),%xmm1        # 48b0 <_sk_callback_sse2+0xa92>
17864  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
17865  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
17866  DB  15,89,13,243,32,0,0                 ; mulps         0x20f3(%rip),%xmm1        # 48c0 <_sk_callback_sse2+0xaa2>
17867  DB  102,15,111,21,251,32,0,0            ; movdqa        0x20fb(%rip),%xmm2        # 48d0 <_sk_callback_sse2+0xab2>
17868  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
17869  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
17870  DB  15,89,21,253,32,0,0                 ; mulps         0x20fd(%rip),%xmm2        # 48e0 <_sk_callback_sse2+0xac2>
17871  DB  102,15,219,29,5,33,0,0              ; pand          0x2105(%rip),%xmm3        # 48f0 <_sk_callback_sse2+0xad2>
17872  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
17873  DB  15,89,29,11,33,0,0                  ; mulps         0x210b(%rip),%xmm3        # 4900 <_sk_callback_sse2+0xae2>
17874  DB  72,173                              ; lods          %ds:(%rsi),%rax
17875  DB  255,224                             ; jmpq          *%rax
17876
17877PUBLIC _sk_gather_4444_sse2
17878_sk_gather_4444_sse2 LABEL PROC
17879  DB  72,173                              ; lods          %ds:(%rsi),%rax
17880  DB  76,139,8                            ; mov           (%rax),%r9
17881  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
17882  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
17883  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
17884  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
17885  DB  102,15,244,218                      ; pmuludq       %xmm2,%xmm3
17886  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
17887  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
17888  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
17889  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
17890  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
17891  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
17892  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
17893  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
17894  DB  65,137,192                          ; mov           %eax,%r8d
17895  DB  72,193,232,32                       ; shr           $0x20,%rax
17896  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
17897  DB  65,137,202                          ; mov           %ecx,%r10d
17898  DB  72,193,233,32                       ; shr           $0x20,%rcx
17899  DB  102,67,15,196,28,81,0               ; pinsrw        $0x0,(%r9,%r10,2),%xmm3
17900  DB  102,65,15,196,28,73,1               ; pinsrw        $0x1,(%r9,%rcx,2),%xmm3
17901  DB  67,15,183,12,65                     ; movzwl        (%r9,%r8,2),%ecx
17902  DB  102,15,196,217,2                    ; pinsrw        $0x2,%ecx,%xmm3
17903  DB  65,15,183,4,65                      ; movzwl        (%r9,%rax,2),%eax
17904  DB  102,15,196,216,3                    ; pinsrw        $0x3,%eax,%xmm3
17905  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
17906  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
17907  DB  102,15,111,5,146,32,0,0             ; movdqa        0x2092(%rip),%xmm0        # 4910 <_sk_callback_sse2+0xaf2>
17908  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
17909  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17910  DB  15,89,5,148,32,0,0                  ; mulps         0x2094(%rip),%xmm0        # 4920 <_sk_callback_sse2+0xb02>
17911  DB  102,15,111,13,156,32,0,0            ; movdqa        0x209c(%rip),%xmm1        # 4930 <_sk_callback_sse2+0xb12>
17912  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
17913  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
17914  DB  15,89,13,158,32,0,0                 ; mulps         0x209e(%rip),%xmm1        # 4940 <_sk_callback_sse2+0xb22>
17915  DB  102,15,111,21,166,32,0,0            ; movdqa        0x20a6(%rip),%xmm2        # 4950 <_sk_callback_sse2+0xb32>
17916  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
17917  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
17918  DB  15,89,21,168,32,0,0                 ; mulps         0x20a8(%rip),%xmm2        # 4960 <_sk_callback_sse2+0xb42>
17919  DB  102,15,219,29,176,32,0,0            ; pand          0x20b0(%rip),%xmm3        # 4970 <_sk_callback_sse2+0xb52>
17920  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
17921  DB  15,89,29,182,32,0,0                 ; mulps         0x20b6(%rip),%xmm3        # 4980 <_sk_callback_sse2+0xb62>
17922  DB  72,173                              ; lods          %ds:(%rsi),%rax
17923  DB  255,224                             ; jmpq          *%rax
17924
17925PUBLIC _sk_store_4444_sse2
17926_sk_store_4444_sse2 LABEL PROC
17927  DB  72,173                              ; lods          %ds:(%rsi),%rax
17928  DB  72,139,0                            ; mov           (%rax),%rax
17929  DB  68,15,40,5,181,32,0,0               ; movaps        0x20b5(%rip),%xmm8        # 4990 <_sk_callback_sse2+0xb72>
17930  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
17931  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
17932  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
17933  DB  102,65,15,114,241,12                ; pslld         $0xc,%xmm9
17934  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
17935  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
17936  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
17937  DB  102,65,15,114,242,8                 ; pslld         $0x8,%xmm10
17938  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
17939  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
17940  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
17941  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
17942  DB  102,65,15,114,241,4                 ; pslld         $0x4,%xmm9
17943  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
17944  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
17945  DB  102,69,15,86,193                    ; orpd          %xmm9,%xmm8
17946  DB  102,69,15,86,194                    ; orpd          %xmm10,%xmm8
17947  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
17948  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
17949  DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
17950  DB  102,68,15,214,4,120                 ; movq          %xmm8,(%rax,%rdi,2)
17951  DB  72,173                              ; lods          %ds:(%rsi),%rax
17952  DB  255,224                             ; jmpq          *%rax
17953
17954PUBLIC _sk_load_8888_sse2
17955_sk_load_8888_sse2 LABEL PROC
17956  DB  72,173                              ; lods          %ds:(%rsi),%rax
17957  DB  72,139,0                            ; mov           (%rax),%rax
17958  DB  68,15,16,12,184                     ; movups        (%rax,%rdi,4),%xmm9
17959  DB  15,40,21,72,32,0,0                  ; movaps        0x2048(%rip),%xmm2        # 49a0 <_sk_callback_sse2+0xb82>
17960  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
17961  DB  15,84,194                           ; andps         %xmm2,%xmm0
17962  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
17963  DB  68,15,40,5,70,32,0,0                ; movaps        0x2046(%rip),%xmm8        # 49b0 <_sk_callback_sse2+0xb92>
17964  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
17965  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
17966  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
17967  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
17968  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
17969  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
17970  DB  65,15,40,217                        ; movaps        %xmm9,%xmm3
17971  DB  102,15,114,211,16                   ; psrld         $0x10,%xmm3
17972  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
17973  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
17974  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
17975  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
17976  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
17977  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
17978  DB  72,173                              ; lods          %ds:(%rsi),%rax
17979  DB  255,224                             ; jmpq          *%rax
17980
17981PUBLIC _sk_gather_8888_sse2
17982_sk_gather_8888_sse2 LABEL PROC
17983  DB  72,173                              ; lods          %ds:(%rsi),%rax
17984  DB  76,139,8                            ; mov           (%rax),%r9
17985  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
17986  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
17987  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
17988  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
17989  DB  102,15,244,218                      ; pmuludq       %xmm2,%xmm3
17990  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
17991  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
17992  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
17993  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
17994  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
17995  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
17996  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
17997  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
17998  DB  65,137,192                          ; mov           %eax,%r8d
17999  DB  72,193,232,32                       ; shr           $0x20,%rax
18000  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
18001  DB  65,137,202                          ; mov           %ecx,%r10d
18002  DB  72,193,233,32                       ; shr           $0x20,%rcx
18003  DB  102,65,15,110,4,137                 ; movd          (%r9,%rcx,4),%xmm0
18004  DB  102,65,15,110,12,129                ; movd          (%r9,%rax,4),%xmm1
18005  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
18006  DB  102,71,15,110,12,145                ; movd          (%r9,%r10,4),%xmm9
18007  DB  102,67,15,110,12,129                ; movd          (%r9,%r8,4),%xmm1
18008  DB  102,68,15,98,201                    ; punpckldq     %xmm1,%xmm9
18009  DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
18010  DB  102,15,111,21,151,31,0,0            ; movdqa        0x1f97(%rip),%xmm2        # 49c0 <_sk_callback_sse2+0xba2>
18011  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
18012  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
18013  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
18014  DB  68,15,40,5,147,31,0,0               ; movaps        0x1f93(%rip),%xmm8        # 49d0 <_sk_callback_sse2+0xbb2>
18015  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
18016  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
18017  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
18018  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
18019  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
18020  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
18021  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
18022  DB  102,15,114,211,16                   ; psrld         $0x10,%xmm3
18023  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
18024  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
18025  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
18026  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
18027  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
18028  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
18029  DB  72,173                              ; lods          %ds:(%rsi),%rax
18030  DB  255,224                             ; jmpq          *%rax
18031
18032PUBLIC _sk_store_8888_sse2
18033_sk_store_8888_sse2 LABEL PROC
18034  DB  72,173                              ; lods          %ds:(%rsi),%rax
18035  DB  72,139,0                            ; mov           (%rax),%rax
18036  DB  68,15,40,5,86,31,0,0                ; movaps        0x1f56(%rip),%xmm8        # 49e0 <_sk_callback_sse2+0xbc2>
18037  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
18038  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
18039  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
18040  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
18041  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
18042  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
18043  DB  102,65,15,114,242,8                 ; pslld         $0x8,%xmm10
18044  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
18045  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
18046  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
18047  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
18048  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
18049  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
18050  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
18051  DB  102,65,15,114,240,24                ; pslld         $0x18,%xmm8
18052  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
18053  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
18054  DB  243,68,15,127,4,184                 ; movdqu        %xmm8,(%rax,%rdi,4)
18055  DB  72,173                              ; lods          %ds:(%rsi),%rax
18056  DB  255,224                             ; jmpq          *%rax
18057
18058PUBLIC _sk_load_f16_sse2
18059_sk_load_f16_sse2 LABEL PROC
18060  DB  72,173                              ; lods          %ds:(%rsi),%rax
18061  DB  72,139,0                            ; mov           (%rax),%rax
18062  DB  243,15,111,4,248                    ; movdqu        (%rax,%rdi,8),%xmm0
18063  DB  243,15,111,76,248,16                ; movdqu        0x10(%rax,%rdi,8),%xmm1
18064  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
18065  DB  102,68,15,97,193                    ; punpcklwd     %xmm1,%xmm8
18066  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
18067  DB  102,69,15,111,240                   ; movdqa        %xmm8,%xmm14
18068  DB  102,68,15,97,240                    ; punpcklwd     %xmm0,%xmm14
18069  DB  102,68,15,105,192                   ; punpckhwd     %xmm0,%xmm8
18070  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
18071  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
18072  DB  102,65,15,97,202                    ; punpcklwd     %xmm10,%xmm1
18073  DB  102,68,15,111,13,198,30,0,0         ; movdqa        0x1ec6(%rip),%xmm9        # 49f0 <_sk_callback_sse2+0xbd2>
18074  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
18075  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
18076  DB  102,15,239,200                      ; pxor          %xmm0,%xmm1
18077  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
18078  DB  102,68,15,111,233                   ; movdqa        %xmm1,%xmm13
18079  DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
18080  DB  102,68,15,235,232                   ; por           %xmm0,%xmm13
18081  DB  102,68,15,111,29,171,30,0,0         ; movdqa        0x1eab(%rip),%xmm11        # 4a00 <_sk_callback_sse2+0xbe2>
18082  DB  102,69,15,254,235                   ; paddd         %xmm11,%xmm13
18083  DB  102,68,15,111,37,173,30,0,0         ; movdqa        0x1ead(%rip),%xmm12        # 4a10 <_sk_callback_sse2+0xbf2>
18084  DB  102,65,15,239,204                   ; pxor          %xmm12,%xmm1
18085  DB  102,15,111,29,176,30,0,0            ; movdqa        0x1eb0(%rip),%xmm3        # 4a20 <_sk_callback_sse2+0xc02>
18086  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
18087  DB  102,15,102,193                      ; pcmpgtd       %xmm1,%xmm0
18088  DB  102,65,15,223,197                   ; pandn         %xmm13,%xmm0
18089  DB  102,65,15,115,222,8                 ; psrldq        $0x8,%xmm14
18090  DB  102,69,15,97,242                    ; punpcklwd     %xmm10,%xmm14
18091  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
18092  DB  102,65,15,219,201                   ; pand          %xmm9,%xmm1
18093  DB  102,68,15,239,241                   ; pxor          %xmm1,%xmm14
18094  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
18095  DB  102,65,15,111,214                   ; movdqa        %xmm14,%xmm2
18096  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
18097  DB  102,15,235,209                      ; por           %xmm1,%xmm2
18098  DB  102,65,15,254,211                   ; paddd         %xmm11,%xmm2
18099  DB  102,69,15,239,244                   ; pxor          %xmm12,%xmm14
18100  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
18101  DB  102,65,15,102,206                   ; pcmpgtd       %xmm14,%xmm1
18102  DB  102,15,223,202                      ; pandn         %xmm2,%xmm1
18103  DB  102,69,15,111,232                   ; movdqa        %xmm8,%xmm13
18104  DB  102,69,15,97,234                    ; punpcklwd     %xmm10,%xmm13
18105  DB  102,65,15,111,213                   ; movdqa        %xmm13,%xmm2
18106  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
18107  DB  102,68,15,239,234                   ; pxor          %xmm2,%xmm13
18108  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
18109  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
18110  DB  102,65,15,114,246,13                ; pslld         $0xd,%xmm14
18111  DB  102,68,15,235,242                   ; por           %xmm2,%xmm14
18112  DB  102,69,15,254,243                   ; paddd         %xmm11,%xmm14
18113  DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
18114  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
18115  DB  102,65,15,102,213                   ; pcmpgtd       %xmm13,%xmm2
18116  DB  102,65,15,223,214                   ; pandn         %xmm14,%xmm2
18117  DB  102,65,15,115,216,8                 ; psrldq        $0x8,%xmm8
18118  DB  102,69,15,97,194                    ; punpcklwd     %xmm10,%xmm8
18119  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
18120  DB  102,69,15,239,193                   ; pxor          %xmm9,%xmm8
18121  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
18122  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
18123  DB  102,65,15,114,242,13                ; pslld         $0xd,%xmm10
18124  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
18125  DB  102,69,15,254,211                   ; paddd         %xmm11,%xmm10
18126  DB  102,69,15,239,196                   ; pxor          %xmm12,%xmm8
18127  DB  102,65,15,102,216                   ; pcmpgtd       %xmm8,%xmm3
18128  DB  102,65,15,223,218                   ; pandn         %xmm10,%xmm3
18129  DB  72,173                              ; lods          %ds:(%rsi),%rax
18130  DB  255,224                             ; jmpq          *%rax
18131
18132PUBLIC _sk_gather_f16_sse2
18133_sk_gather_f16_sse2 LABEL PROC
18134  DB  72,173                              ; lods          %ds:(%rsi),%rax
18135  DB  76,139,8                            ; mov           (%rax),%r9
18136  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
18137  DB  102,15,110,80,16                    ; movd          0x10(%rax),%xmm2
18138  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
18139  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
18140  DB  102,15,244,218                      ; pmuludq       %xmm2,%xmm3
18141  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
18142  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
18143  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
18144  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
18145  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
18146  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
18147  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
18148  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
18149  DB  65,137,192                          ; mov           %eax,%r8d
18150  DB  72,193,232,32                       ; shr           $0x20,%rax
18151  DB  102,72,15,126,193                   ; movq          %xmm0,%rcx
18152  DB  65,137,202                          ; mov           %ecx,%r10d
18153  DB  72,193,233,32                       ; shr           $0x20,%rcx
18154  DB  243,65,15,126,4,201                 ; movq          (%r9,%rcx,8),%xmm0
18155  DB  243,67,15,126,12,209                ; movq          (%r9,%r10,8),%xmm1
18156  DB  102,15,108,200                      ; punpcklqdq    %xmm0,%xmm1
18157  DB  243,65,15,126,4,193                 ; movq          (%r9,%rax,8),%xmm0
18158  DB  243,67,15,126,20,193                ; movq          (%r9,%r8,8),%xmm2
18159  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
18160  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
18161  DB  102,68,15,97,194                    ; punpcklwd     %xmm2,%xmm8
18162  DB  102,15,105,202                      ; punpckhwd     %xmm2,%xmm1
18163  DB  102,69,15,111,240                   ; movdqa        %xmm8,%xmm14
18164  DB  102,68,15,97,241                    ; punpcklwd     %xmm1,%xmm14
18165  DB  102,68,15,105,193                   ; punpckhwd     %xmm1,%xmm8
18166  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
18167  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
18168  DB  102,65,15,97,202                    ; punpcklwd     %xmm10,%xmm1
18169  DB  102,68,15,111,13,62,29,0,0          ; movdqa        0x1d3e(%rip),%xmm9        # 4a30 <_sk_callback_sse2+0xc12>
18170  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
18171  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
18172  DB  102,15,239,200                      ; pxor          %xmm0,%xmm1
18173  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
18174  DB  102,68,15,111,233                   ; movdqa        %xmm1,%xmm13
18175  DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
18176  DB  102,68,15,235,232                   ; por           %xmm0,%xmm13
18177  DB  102,68,15,111,29,35,29,0,0          ; movdqa        0x1d23(%rip),%xmm11        # 4a40 <_sk_callback_sse2+0xc22>
18178  DB  102,69,15,254,235                   ; paddd         %xmm11,%xmm13
18179  DB  102,68,15,111,37,37,29,0,0          ; movdqa        0x1d25(%rip),%xmm12        # 4a50 <_sk_callback_sse2+0xc32>
18180  DB  102,65,15,239,204                   ; pxor          %xmm12,%xmm1
18181  DB  102,15,111,29,40,29,0,0             ; movdqa        0x1d28(%rip),%xmm3        # 4a60 <_sk_callback_sse2+0xc42>
18182  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
18183  DB  102,15,102,193                      ; pcmpgtd       %xmm1,%xmm0
18184  DB  102,65,15,223,197                   ; pandn         %xmm13,%xmm0
18185  DB  102,65,15,115,222,8                 ; psrldq        $0x8,%xmm14
18186  DB  102,69,15,97,242                    ; punpcklwd     %xmm10,%xmm14
18187  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
18188  DB  102,65,15,219,201                   ; pand          %xmm9,%xmm1
18189  DB  102,68,15,239,241                   ; pxor          %xmm1,%xmm14
18190  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
18191  DB  102,65,15,111,214                   ; movdqa        %xmm14,%xmm2
18192  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
18193  DB  102,15,235,209                      ; por           %xmm1,%xmm2
18194  DB  102,65,15,254,211                   ; paddd         %xmm11,%xmm2
18195  DB  102,69,15,239,244                   ; pxor          %xmm12,%xmm14
18196  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
18197  DB  102,65,15,102,206                   ; pcmpgtd       %xmm14,%xmm1
18198  DB  102,15,223,202                      ; pandn         %xmm2,%xmm1
18199  DB  102,69,15,111,232                   ; movdqa        %xmm8,%xmm13
18200  DB  102,69,15,97,234                    ; punpcklwd     %xmm10,%xmm13
18201  DB  102,65,15,111,213                   ; movdqa        %xmm13,%xmm2
18202  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
18203  DB  102,68,15,239,234                   ; pxor          %xmm2,%xmm13
18204  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
18205  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
18206  DB  102,65,15,114,246,13                ; pslld         $0xd,%xmm14
18207  DB  102,68,15,235,242                   ; por           %xmm2,%xmm14
18208  DB  102,69,15,254,243                   ; paddd         %xmm11,%xmm14
18209  DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
18210  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
18211  DB  102,65,15,102,213                   ; pcmpgtd       %xmm13,%xmm2
18212  DB  102,65,15,223,214                   ; pandn         %xmm14,%xmm2
18213  DB  102,65,15,115,216,8                 ; psrldq        $0x8,%xmm8
18214  DB  102,69,15,97,194                    ; punpcklwd     %xmm10,%xmm8
18215  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
18216  DB  102,69,15,239,193                   ; pxor          %xmm9,%xmm8
18217  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
18218  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
18219  DB  102,65,15,114,242,13                ; pslld         $0xd,%xmm10
18220  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
18221  DB  102,69,15,254,211                   ; paddd         %xmm11,%xmm10
18222  DB  102,69,15,239,196                   ; pxor          %xmm12,%xmm8
18223  DB  102,65,15,102,216                   ; pcmpgtd       %xmm8,%xmm3
18224  DB  102,65,15,223,218                   ; pandn         %xmm10,%xmm3
18225  DB  72,173                              ; lods          %ds:(%rsi),%rax
18226  DB  255,224                             ; jmpq          *%rax
18227
18228PUBLIC _sk_store_f16_sse2
18229_sk_store_f16_sse2 LABEL PROC
18230  DB  72,173                              ; lods          %ds:(%rsi),%rax
18231  DB  72,139,0                            ; mov           (%rax),%rax
18232  DB  102,68,15,111,21,80,28,0,0          ; movdqa        0x1c50(%rip),%xmm10        # 4a70 <_sk_callback_sse2+0xc52>
18233  DB  102,68,15,111,224                   ; movdqa        %xmm0,%xmm12
18234  DB  102,68,15,111,232                   ; movdqa        %xmm0,%xmm13
18235  DB  102,69,15,219,234                   ; pand          %xmm10,%xmm13
18236  DB  102,69,15,239,229                   ; pxor          %xmm13,%xmm12
18237  DB  102,68,15,111,13,67,28,0,0          ; movdqa        0x1c43(%rip),%xmm9        # 4a80 <_sk_callback_sse2+0xc62>
18238  DB  102,65,15,114,213,16                ; psrld         $0x10,%xmm13
18239  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
18240  DB  102,69,15,102,196                   ; pcmpgtd       %xmm12,%xmm8
18241  DB  102,65,15,114,212,13                ; psrld         $0xd,%xmm12
18242  DB  102,68,15,111,29,52,28,0,0          ; movdqa        0x1c34(%rip),%xmm11        # 4a90 <_sk_callback_sse2+0xc72>
18243  DB  102,69,15,235,235                   ; por           %xmm11,%xmm13
18244  DB  102,69,15,254,236                   ; paddd         %xmm12,%xmm13
18245  DB  102,65,15,114,245,16                ; pslld         $0x10,%xmm13
18246  DB  102,65,15,114,229,16                ; psrad         $0x10,%xmm13
18247  DB  102,69,15,223,197                   ; pandn         %xmm13,%xmm8
18248  DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
18249  DB  102,68,15,111,233                   ; movdqa        %xmm1,%xmm13
18250  DB  102,68,15,111,241                   ; movdqa        %xmm1,%xmm14
18251  DB  102,69,15,219,242                   ; pand          %xmm10,%xmm14
18252  DB  102,69,15,239,238                   ; pxor          %xmm14,%xmm13
18253  DB  102,65,15,114,214,16                ; psrld         $0x10,%xmm14
18254  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
18255  DB  102,69,15,102,229                   ; pcmpgtd       %xmm13,%xmm12
18256  DB  102,65,15,114,213,13                ; psrld         $0xd,%xmm13
18257  DB  102,69,15,235,243                   ; por           %xmm11,%xmm14
18258  DB  102,69,15,254,245                   ; paddd         %xmm13,%xmm14
18259  DB  102,65,15,114,246,16                ; pslld         $0x10,%xmm14
18260  DB  102,65,15,114,230,16                ; psrad         $0x10,%xmm14
18261  DB  102,69,15,223,230                   ; pandn         %xmm14,%xmm12
18262  DB  102,69,15,107,228                   ; packssdw      %xmm12,%xmm12
18263  DB  102,68,15,111,242                   ; movdqa        %xmm2,%xmm14
18264  DB  102,68,15,111,250                   ; movdqa        %xmm2,%xmm15
18265  DB  102,69,15,219,250                   ; pand          %xmm10,%xmm15
18266  DB  102,69,15,239,247                   ; pxor          %xmm15,%xmm14
18267  DB  102,65,15,114,215,16                ; psrld         $0x10,%xmm15
18268  DB  102,69,15,111,233                   ; movdqa        %xmm9,%xmm13
18269  DB  102,69,15,102,238                   ; pcmpgtd       %xmm14,%xmm13
18270  DB  102,65,15,114,214,13                ; psrld         $0xd,%xmm14
18271  DB  102,69,15,235,251                   ; por           %xmm11,%xmm15
18272  DB  102,69,15,254,254                   ; paddd         %xmm14,%xmm15
18273  DB  102,65,15,114,247,16                ; pslld         $0x10,%xmm15
18274  DB  102,65,15,114,231,16                ; psrad         $0x10,%xmm15
18275  DB  102,69,15,223,239                   ; pandn         %xmm15,%xmm13
18276  DB  102,69,15,107,237                   ; packssdw      %xmm13,%xmm13
18277  DB  102,68,15,219,211                   ; pand          %xmm3,%xmm10
18278  DB  102,68,15,111,243                   ; movdqa        %xmm3,%xmm14
18279  DB  102,69,15,239,242                   ; pxor          %xmm10,%xmm14
18280  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
18281  DB  102,69,15,102,206                   ; pcmpgtd       %xmm14,%xmm9
18282  DB  102,65,15,114,214,13                ; psrld         $0xd,%xmm14
18283  DB  102,69,15,235,211                   ; por           %xmm11,%xmm10
18284  DB  102,69,15,254,214                   ; paddd         %xmm14,%xmm10
18285  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
18286  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
18287  DB  102,69,15,223,202                   ; pandn         %xmm10,%xmm9
18288  DB  102,69,15,107,201                   ; packssdw      %xmm9,%xmm9
18289  DB  102,69,15,97,196                    ; punpcklwd     %xmm12,%xmm8
18290  DB  102,69,15,97,233                    ; punpcklwd     %xmm9,%xmm13
18291  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
18292  DB  102,69,15,98,205                    ; punpckldq     %xmm13,%xmm9
18293  DB  243,68,15,127,12,248                ; movdqu        %xmm9,(%rax,%rdi,8)
18294  DB  102,69,15,106,197                   ; punpckhdq     %xmm13,%xmm8
18295  DB  243,68,15,127,68,248,16             ; movdqu        %xmm8,0x10(%rax,%rdi,8)
18296  DB  72,173                              ; lods          %ds:(%rsi),%rax
18297  DB  255,224                             ; jmpq          *%rax
18298
18299PUBLIC _sk_load_u16_be_sse2
18300_sk_load_u16_be_sse2 LABEL PROC
18301  DB  72,173                              ; lods          %ds:(%rsi),%rax
18302  DB  72,139,0                            ; mov           (%rax),%rax
18303  DB  243,15,111,4,248                    ; movdqu        (%rax,%rdi,8),%xmm0
18304  DB  243,15,111,76,248,16                ; movdqu        0x10(%rax,%rdi,8),%xmm1
18305  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
18306  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
18307  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
18308  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
18309  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
18310  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
18311  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
18312  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
18313  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
18314  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
18315  DB  102,15,235,200                      ; por           %xmm0,%xmm1
18316  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
18317  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
18318  DB  15,91,193                           ; cvtdq2ps      %xmm1,%xmm0
18319  DB  68,15,40,5,210,26,0,0               ; movaps        0x1ad2(%rip),%xmm8        # 4aa0 <_sk_callback_sse2+0xc82>
18320  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
18321  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
18322  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
18323  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
18324  DB  102,15,235,217                      ; por           %xmm1,%xmm3
18325  DB  102,65,15,97,217                    ; punpcklwd     %xmm9,%xmm3
18326  DB  15,91,203                           ; cvtdq2ps      %xmm3,%xmm1
18327  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
18328  DB  102,68,15,111,210                   ; movdqa        %xmm2,%xmm10
18329  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
18330  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
18331  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
18332  DB  102,65,15,235,210                   ; por           %xmm10,%xmm2
18333  DB  102,65,15,97,209                    ; punpcklwd     %xmm9,%xmm2
18334  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
18335  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
18336  DB  102,68,15,111,211                   ; movdqa        %xmm3,%xmm10
18337  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
18338  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
18339  DB  102,65,15,235,218                   ; por           %xmm10,%xmm3
18340  DB  102,65,15,97,217                    ; punpcklwd     %xmm9,%xmm3
18341  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
18342  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
18343  DB  72,173                              ; lods          %ds:(%rsi),%rax
18344  DB  255,224                             ; jmpq          *%rax
18345
18346PUBLIC _sk_load_rgb_u16_be_sse2
18347_sk_load_rgb_u16_be_sse2 LABEL PROC
18348  DB  72,173                              ; lods          %ds:(%rsi),%rax
18349  DB  72,139,0                            ; mov           (%rax),%rax
18350  DB  72,141,12,127                       ; lea           (%rdi,%rdi,2),%rcx
18351  DB  243,15,111,20,72                    ; movdqu        (%rax,%rcx,2),%xmm2
18352  DB  243,15,111,68,72,8                  ; movdqu        0x8(%rax,%rcx,2),%xmm0
18353  DB  102,15,115,216,4                    ; psrldq        $0x4,%xmm0
18354  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
18355  DB  102,15,115,217,6                    ; psrldq        $0x6,%xmm1
18356  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
18357  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
18358  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
18359  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
18360  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
18361  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
18362  DB  102,15,105,209                      ; punpckhwd     %xmm1,%xmm2
18363  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
18364  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
18365  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
18366  DB  102,15,235,193                      ; por           %xmm1,%xmm0
18367  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
18368  DB  102,65,15,97,192                    ; punpcklwd     %xmm8,%xmm0
18369  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
18370  DB  68,15,40,13,14,26,0,0               ; movaps        0x1a0e(%rip),%xmm9        # 4ab0 <_sk_callback_sse2+0xc92>
18371  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
18372  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
18373  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
18374  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
18375  DB  102,15,235,217                      ; por           %xmm1,%xmm3
18376  DB  102,65,15,97,216                    ; punpcklwd     %xmm8,%xmm3
18377  DB  15,91,203                           ; cvtdq2ps      %xmm3,%xmm1
18378  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
18379  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
18380  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
18381  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
18382  DB  102,15,235,211                      ; por           %xmm3,%xmm2
18383  DB  102,65,15,97,208                    ; punpcklwd     %xmm8,%xmm2
18384  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
18385  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
18386  DB  72,173                              ; lods          %ds:(%rsi),%rax
18387  DB  15,40,29,213,25,0,0                 ; movaps        0x19d5(%rip),%xmm3        # 4ac0 <_sk_callback_sse2+0xca2>
18388  DB  255,224                             ; jmpq          *%rax
18389
18390PUBLIC _sk_store_u16_be_sse2
18391_sk_store_u16_be_sse2 LABEL PROC
18392  DB  72,173                              ; lods          %ds:(%rsi),%rax
18393  DB  72,139,0                            ; mov           (%rax),%rax
18394  DB  68,15,40,13,214,25,0,0              ; movaps        0x19d6(%rip),%xmm9        # 4ad0 <_sk_callback_sse2+0xcb2>
18395  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18396  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
18397  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
18398  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
18399  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
18400  DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
18401  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
18402  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
18403  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
18404  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
18405  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
18406  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
18407  DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
18408  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
18409  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
18410  DB  102,69,15,107,210                   ; packssdw      %xmm10,%xmm10
18411  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
18412  DB  102,65,15,113,243,8                 ; psllw         $0x8,%xmm11
18413  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
18414  DB  102,69,15,235,211                   ; por           %xmm11,%xmm10
18415  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
18416  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
18417  DB  102,69,15,91,219                    ; cvtps2dq      %xmm11,%xmm11
18418  DB  102,65,15,114,243,16                ; pslld         $0x10,%xmm11
18419  DB  102,65,15,114,227,16                ; psrad         $0x10,%xmm11
18420  DB  102,69,15,107,219                   ; packssdw      %xmm11,%xmm11
18421  DB  102,69,15,111,227                   ; movdqa        %xmm11,%xmm12
18422  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
18423  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
18424  DB  102,69,15,235,220                   ; por           %xmm12,%xmm11
18425  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
18426  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
18427  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
18428  DB  102,65,15,114,225,16                ; psrad         $0x10,%xmm9
18429  DB  102,69,15,107,201                   ; packssdw      %xmm9,%xmm9
18430  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
18431  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
18432  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
18433  DB  102,69,15,235,204                   ; por           %xmm12,%xmm9
18434  DB  102,69,15,97,194                    ; punpcklwd     %xmm10,%xmm8
18435  DB  102,69,15,97,217                    ; punpcklwd     %xmm9,%xmm11
18436  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
18437  DB  102,69,15,98,203                    ; punpckldq     %xmm11,%xmm9
18438  DB  243,68,15,127,12,248                ; movdqu        %xmm9,(%rax,%rdi,8)
18439  DB  102,69,15,106,195                   ; punpckhdq     %xmm11,%xmm8
18440  DB  243,68,15,127,68,248,16             ; movdqu        %xmm8,0x10(%rax,%rdi,8)
18441  DB  72,173                              ; lods          %ds:(%rsi),%rax
18442  DB  255,224                             ; jmpq          *%rax
18443
18444PUBLIC _sk_load_f32_sse2
18445_sk_load_f32_sse2 LABEL PROC
18446  DB  72,173                              ; lods          %ds:(%rsi),%rax
18447  DB  72,139,0                            ; mov           (%rax),%rax
18448  DB  72,137,249                          ; mov           %rdi,%rcx
18449  DB  72,193,225,4                        ; shl           $0x4,%rcx
18450  DB  68,15,16,4,8                        ; movups        (%rax,%rcx,1),%xmm8
18451  DB  15,16,68,8,16                       ; movups        0x10(%rax,%rcx,1),%xmm0
18452  DB  15,16,92,8,32                       ; movups        0x20(%rax,%rcx,1),%xmm3
18453  DB  68,15,16,76,8,48                    ; movups        0x30(%rax,%rcx,1),%xmm9
18454  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
18455  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
18456  DB  15,40,203                           ; movaps        %xmm3,%xmm1
18457  DB  65,15,20,201                        ; unpcklps      %xmm9,%xmm1
18458  DB  68,15,21,192                        ; unpckhps      %xmm0,%xmm8
18459  DB  65,15,21,217                        ; unpckhps      %xmm9,%xmm3
18460  DB  15,40,194                           ; movaps        %xmm2,%xmm0
18461  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
18462  DB  15,18,202                           ; movhlps       %xmm2,%xmm1
18463  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
18464  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
18465  DB  65,15,18,216                        ; movhlps       %xmm8,%xmm3
18466  DB  72,173                              ; lods          %ds:(%rsi),%rax
18467  DB  255,224                             ; jmpq          *%rax
18468
18469PUBLIC _sk_store_f32_sse2
18470_sk_store_f32_sse2 LABEL PROC
18471  DB  72,173                              ; lods          %ds:(%rsi),%rax
18472  DB  72,139,0                            ; mov           (%rax),%rax
18473  DB  72,137,249                          ; mov           %rdi,%rcx
18474  DB  72,193,225,4                        ; shl           $0x4,%rcx
18475  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18476  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
18477  DB  68,15,20,201                        ; unpcklps      %xmm1,%xmm9
18478  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
18479  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
18480  DB  68,15,20,219                        ; unpcklps      %xmm3,%xmm11
18481  DB  68,15,21,193                        ; unpckhps      %xmm1,%xmm8
18482  DB  68,15,21,211                        ; unpckhps      %xmm3,%xmm10
18483  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
18484  DB  102,69,15,20,227                    ; unpcklpd      %xmm11,%xmm12
18485  DB  69,15,18,217                        ; movhlps       %xmm9,%xmm11
18486  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
18487  DB  102,69,15,20,202                    ; unpcklpd      %xmm10,%xmm9
18488  DB  69,15,18,208                        ; movhlps       %xmm8,%xmm10
18489  DB  102,68,15,17,36,8                   ; movupd        %xmm12,(%rax,%rcx,1)
18490  DB  68,15,17,92,8,16                    ; movups        %xmm11,0x10(%rax,%rcx,1)
18491  DB  102,68,15,17,76,8,32                ; movupd        %xmm9,0x20(%rax,%rcx,1)
18492  DB  68,15,17,84,8,48                    ; movups        %xmm10,0x30(%rax,%rcx,1)
18493  DB  72,173                              ; lods          %ds:(%rsi),%rax
18494  DB  255,224                             ; jmpq          *%rax
18495
18496PUBLIC _sk_clamp_x_sse2
18497_sk_clamp_x_sse2 LABEL PROC
18498  DB  72,173                              ; lods          %ds:(%rsi),%rax
18499  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
18500  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
18501  DB  243,68,15,16,8                      ; movss         (%rax),%xmm9
18502  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18503  DB  102,15,118,192                      ; pcmpeqd       %xmm0,%xmm0
18504  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
18505  DB  68,15,93,192                        ; minps         %xmm0,%xmm8
18506  DB  72,173                              ; lods          %ds:(%rsi),%rax
18507  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
18508  DB  255,224                             ; jmpq          *%rax
18509
18510PUBLIC _sk_clamp_y_sse2
18511_sk_clamp_y_sse2 LABEL PROC
18512  DB  72,173                              ; lods          %ds:(%rsi),%rax
18513  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
18514  DB  68,15,95,193                        ; maxps         %xmm1,%xmm8
18515  DB  243,68,15,16,8                      ; movss         (%rax),%xmm9
18516  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18517  DB  102,15,118,201                      ; pcmpeqd       %xmm1,%xmm1
18518  DB  102,65,15,254,201                   ; paddd         %xmm9,%xmm1
18519  DB  68,15,93,193                        ; minps         %xmm1,%xmm8
18520  DB  72,173                              ; lods          %ds:(%rsi),%rax
18521  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
18522  DB  255,224                             ; jmpq          *%rax
18523
18524PUBLIC _sk_repeat_x_sse2
18525_sk_repeat_x_sse2 LABEL PROC
18526  DB  72,173                              ; lods          %ds:(%rsi),%rax
18527  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
18528  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
18529  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
18530  DB  69,15,94,200                        ; divps         %xmm8,%xmm9
18531  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
18532  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
18533  DB  69,15,194,202,1                     ; cmpltps       %xmm10,%xmm9
18534  DB  68,15,84,13,192,23,0,0              ; andps         0x17c0(%rip),%xmm9        # 4ae0 <_sk_callback_sse2+0xcc2>
18535  DB  69,15,92,209                        ; subps         %xmm9,%xmm10
18536  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
18537  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
18538  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
18539  DB  102,69,15,254,200                   ; paddd         %xmm8,%xmm9
18540  DB  65,15,93,193                        ; minps         %xmm9,%xmm0
18541  DB  72,173                              ; lods          %ds:(%rsi),%rax
18542  DB  255,224                             ; jmpq          *%rax
18543
18544PUBLIC _sk_repeat_y_sse2
18545_sk_repeat_y_sse2 LABEL PROC
18546  DB  72,173                              ; lods          %ds:(%rsi),%rax
18547  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
18548  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
18549  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
18550  DB  69,15,94,200                        ; divps         %xmm8,%xmm9
18551  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
18552  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
18553  DB  69,15,194,202,1                     ; cmpltps       %xmm10,%xmm9
18554  DB  68,15,84,13,136,23,0,0              ; andps         0x1788(%rip),%xmm9        # 4af0 <_sk_callback_sse2+0xcd2>
18555  DB  69,15,92,209                        ; subps         %xmm9,%xmm10
18556  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
18557  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
18558  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
18559  DB  102,69,15,254,200                   ; paddd         %xmm8,%xmm9
18560  DB  65,15,93,201                        ; minps         %xmm9,%xmm1
18561  DB  72,173                              ; lods          %ds:(%rsi),%rax
18562  DB  255,224                             ; jmpq          *%rax
18563
18564PUBLIC _sk_mirror_x_sse2
18565_sk_mirror_x_sse2 LABEL PROC
18566  DB  72,173                              ; lods          %ds:(%rsi),%rax
18567  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
18568  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
18569  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18570  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
18571  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
18572  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
18573  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
18574  DB  69,15,94,208                        ; divps         %xmm8,%xmm10
18575  DB  243,69,15,91,218                    ; cvttps2dq     %xmm10,%xmm11
18576  DB  69,15,91,219                        ; cvtdq2ps      %xmm11,%xmm11
18577  DB  69,15,194,211,1                     ; cmpltps       %xmm11,%xmm10
18578  DB  68,15,84,21,62,23,0,0               ; andps         0x173e(%rip),%xmm10        # 4b00 <_sk_callback_sse2+0xce2>
18579  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
18580  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
18581  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
18582  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
18583  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
18584  DB  68,15,92,224                        ; subps         %xmm0,%xmm12
18585  DB  65,15,84,196                        ; andps         %xmm12,%xmm0
18586  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
18587  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
18588  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
18589  DB  72,173                              ; lods          %ds:(%rsi),%rax
18590  DB  255,224                             ; jmpq          *%rax
18591
18592PUBLIC _sk_mirror_y_sse2
18593_sk_mirror_y_sse2 LABEL PROC
18594  DB  72,173                              ; lods          %ds:(%rsi),%rax
18595  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
18596  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
18597  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18598  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
18599  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
18600  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
18601  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
18602  DB  69,15,94,208                        ; divps         %xmm8,%xmm10
18603  DB  243,69,15,91,218                    ; cvttps2dq     %xmm10,%xmm11
18604  DB  69,15,91,219                        ; cvtdq2ps      %xmm11,%xmm11
18605  DB  69,15,194,211,1                     ; cmpltps       %xmm11,%xmm10
18606  DB  68,15,84,21,228,22,0,0              ; andps         0x16e4(%rip),%xmm10        # 4b10 <_sk_callback_sse2+0xcf2>
18607  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
18608  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
18609  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
18610  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
18611  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
18612  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
18613  DB  65,15,84,204                        ; andps         %xmm12,%xmm1
18614  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
18615  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
18616  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
18617  DB  72,173                              ; lods          %ds:(%rsi),%rax
18618  DB  255,224                             ; jmpq          *%rax
18619
18620PUBLIC _sk_luminance_to_alpha_sse2
18621_sk_luminance_to_alpha_sse2 LABEL PROC
18622  DB  15,40,218                           ; movaps        %xmm2,%xmm3
18623  DB  15,89,5,188,22,0,0                  ; mulps         0x16bc(%rip),%xmm0        # 4b20 <_sk_callback_sse2+0xd02>
18624  DB  15,89,13,197,22,0,0                 ; mulps         0x16c5(%rip),%xmm1        # 4b30 <_sk_callback_sse2+0xd12>
18625  DB  15,88,200                           ; addps         %xmm0,%xmm1
18626  DB  15,89,29,203,22,0,0                 ; mulps         0x16cb(%rip),%xmm3        # 4b40 <_sk_callback_sse2+0xd22>
18627  DB  15,88,217                           ; addps         %xmm1,%xmm3
18628  DB  72,173                              ; lods          %ds:(%rsi),%rax
18629  DB  15,87,192                           ; xorps         %xmm0,%xmm0
18630  DB  15,87,201                           ; xorps         %xmm1,%xmm1
18631  DB  15,87,210                           ; xorps         %xmm2,%xmm2
18632  DB  255,224                             ; jmpq          *%rax
18633
18634PUBLIC _sk_matrix_2x3_sse2
18635_sk_matrix_2x3_sse2 LABEL PROC
18636  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
18637  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18638  DB  72,173                              ; lods          %ds:(%rsi),%rax
18639  DB  243,15,16,0                         ; movss         (%rax),%xmm0
18640  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
18641  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
18642  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
18643  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18644  DB  243,68,15,16,88,16                  ; movss         0x10(%rax),%xmm11
18645  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18646  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
18647  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18648  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
18649  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
18650  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
18651  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
18652  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18653  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
18654  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18655  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
18656  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18657  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
18658  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
18659  DB  72,173                              ; lods          %ds:(%rsi),%rax
18660  DB  255,224                             ; jmpq          *%rax
18661
18662PUBLIC _sk_matrix_3x4_sse2
18663_sk_matrix_3x4_sse2 LABEL PROC
18664  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
18665  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18666  DB  72,173                              ; lods          %ds:(%rsi),%rax
18667  DB  243,15,16,0                         ; movss         (%rax),%xmm0
18668  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
18669  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
18670  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
18671  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18672  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
18673  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18674  DB  243,68,15,16,96,36                  ; movss         0x24(%rax),%xmm12
18675  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18676  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
18677  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18678  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
18679  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18680  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
18681  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
18682  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
18683  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
18684  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18685  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
18686  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18687  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
18688  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18689  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
18690  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18691  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
18692  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18693  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
18694  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
18695  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
18696  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18697  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
18698  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18699  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
18700  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18701  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
18702  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18703  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
18704  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
18705  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
18706  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18707  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
18708  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18709  DB  72,173                              ; lods          %ds:(%rsi),%rax
18710  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
18711  DB  255,224                             ; jmpq          *%rax
18712
18713PUBLIC _sk_matrix_4x5_sse2
18714_sk_matrix_4x5_sse2 LABEL PROC
18715  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
18716  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18717  DB  72,173                              ; lods          %ds:(%rsi),%rax
18718  DB  243,15,16,0                         ; movss         (%rax),%xmm0
18719  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
18720  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
18721  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
18722  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18723  DB  243,68,15,16,88,32                  ; movss         0x20(%rax),%xmm11
18724  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18725  DB  243,68,15,16,96,48                  ; movss         0x30(%rax),%xmm12
18726  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18727  DB  243,68,15,16,104,64                 ; movss         0x40(%rax),%xmm13
18728  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18729  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
18730  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
18731  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
18732  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18733  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
18734  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18735  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
18736  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
18737  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
18738  DB  243,68,15,16,80,20                  ; movss         0x14(%rax),%xmm10
18739  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18740  DB  243,68,15,16,88,36                  ; movss         0x24(%rax),%xmm11
18741  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18742  DB  243,68,15,16,96,52                  ; movss         0x34(%rax),%xmm12
18743  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18744  DB  243,68,15,16,104,68                 ; movss         0x44(%rax),%xmm13
18745  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18746  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
18747  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
18748  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
18749  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18750  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
18751  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18752  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
18753  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
18754  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
18755  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18756  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
18757  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18758  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
18759  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18760  DB  243,68,15,16,104,56                 ; movss         0x38(%rax),%xmm13
18761  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18762  DB  243,68,15,16,112,72                 ; movss         0x48(%rax),%xmm14
18763  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
18764  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
18765  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
18766  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
18767  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
18768  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
18769  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18770  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
18771  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18772  DB  243,68,15,16,88,12                  ; movss         0xc(%rax),%xmm11
18773  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18774  DB  243,68,15,16,96,28                  ; movss         0x1c(%rax),%xmm12
18775  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18776  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
18777  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18778  DB  243,68,15,16,112,60                 ; movss         0x3c(%rax),%xmm14
18779  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
18780  DB  243,68,15,16,120,76                 ; movss         0x4c(%rax),%xmm15
18781  DB  69,15,198,255,0                     ; shufps        $0x0,%xmm15,%xmm15
18782  DB  68,15,89,243                        ; mulps         %xmm3,%xmm14
18783  DB  69,15,88,247                        ; addps         %xmm15,%xmm14
18784  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
18785  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
18786  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
18787  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
18788  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
18789  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18790  DB  72,173                              ; lods          %ds:(%rsi),%rax
18791  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
18792  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
18793  DB  255,224                             ; jmpq          *%rax
18794
18795PUBLIC _sk_matrix_perspective_sse2
18796_sk_matrix_perspective_sse2 LABEL PROC
18797  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18798  DB  72,173                              ; lods          %ds:(%rsi),%rax
18799  DB  243,15,16,0                         ; movss         (%rax),%xmm0
18800  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
18801  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
18802  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18803  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
18804  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18805  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
18806  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
18807  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
18808  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
18809  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
18810  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18811  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
18812  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18813  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
18814  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18815  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
18816  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18817  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
18818  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
18819  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
18820  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18821  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
18822  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18823  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
18824  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18825  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
18826  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
18827  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
18828  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
18829  DB  65,15,83,202                        ; rcpps         %xmm10,%xmm1
18830  DB  15,89,193                           ; mulps         %xmm1,%xmm0
18831  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
18832  DB  72,173                              ; lods          %ds:(%rsi),%rax
18833  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
18834  DB  255,224                             ; jmpq          *%rax
18835
18836PUBLIC _sk_linear_gradient_sse2
18837_sk_linear_gradient_sse2 LABEL PROC
18838  DB  72,173                              ; lods          %ds:(%rsi),%rax
18839  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
18840  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18841  DB  243,68,15,16,80,20                  ; movss         0x14(%rax),%xmm10
18842  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
18843  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
18844  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
18845  DB  243,68,15,16,96,28                  ; movss         0x1c(%rax),%xmm12
18846  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
18847  DB  72,139,8                            ; mov           (%rax),%rcx
18848  DB  72,133,201                          ; test          %rcx,%rcx
18849  DB  15,132,15,1,0,0                     ; je            3928 <_sk_linear_gradient_sse2+0x149>
18850  DB  72,139,64,8                         ; mov           0x8(%rax),%rax
18851  DB  72,131,192,32                       ; add           $0x20,%rax
18852  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
18853  DB  15,87,219                           ; xorps         %xmm3,%xmm3
18854  DB  15,87,210                           ; xorps         %xmm2,%xmm2
18855  DB  15,87,201                           ; xorps         %xmm1,%xmm1
18856  DB  243,68,15,16,112,224                ; movss         -0x20(%rax),%xmm14
18857  DB  243,68,15,16,104,228                ; movss         -0x1c(%rax),%xmm13
18858  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
18859  DB  69,15,40,252                        ; movaps        %xmm12,%xmm15
18860  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
18861  DB  69,15,194,230,1                     ; cmpltps       %xmm14,%xmm12
18862  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18863  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
18864  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
18865  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
18866  DB  69,15,86,198                        ; orps          %xmm14,%xmm8
18867  DB  243,68,15,16,104,232                ; movss         -0x18(%rax),%xmm13
18868  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18869  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
18870  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
18871  DB  65,15,84,204                        ; andps         %xmm12,%xmm1
18872  DB  65,15,86,206                        ; orps          %xmm14,%xmm1
18873  DB  243,68,15,16,104,236                ; movss         -0x14(%rax),%xmm13
18874  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18875  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
18876  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
18877  DB  65,15,84,212                        ; andps         %xmm12,%xmm2
18878  DB  65,15,86,214                        ; orps          %xmm14,%xmm2
18879  DB  243,68,15,16,104,240                ; movss         -0x10(%rax),%xmm13
18880  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18881  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
18882  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
18883  DB  65,15,84,220                        ; andps         %xmm12,%xmm3
18884  DB  65,15,86,222                        ; orps          %xmm14,%xmm3
18885  DB  243,68,15,16,104,244                ; movss         -0xc(%rax),%xmm13
18886  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18887  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
18888  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
18889  DB  69,15,84,204                        ; andps         %xmm12,%xmm9
18890  DB  69,15,86,206                        ; orps          %xmm14,%xmm9
18891  DB  243,68,15,16,104,248                ; movss         -0x8(%rax),%xmm13
18892  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18893  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
18894  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
18895  DB  69,15,84,212                        ; andps         %xmm12,%xmm10
18896  DB  69,15,86,214                        ; orps          %xmm14,%xmm10
18897  DB  243,68,15,16,104,252                ; movss         -0x4(%rax),%xmm13
18898  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18899  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
18900  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
18901  DB  69,15,84,220                        ; andps         %xmm12,%xmm11
18902  DB  69,15,86,222                        ; orps          %xmm14,%xmm11
18903  DB  243,68,15,16,40                     ; movss         (%rax),%xmm13
18904  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
18905  DB  69,15,84,252                        ; andps         %xmm12,%xmm15
18906  DB  69,15,85,229                        ; andnps        %xmm13,%xmm12
18907  DB  69,15,86,231                        ; orps          %xmm15,%xmm12
18908  DB  72,131,192,36                       ; add           $0x24,%rax
18909  DB  72,255,201                          ; dec           %rcx
18910  DB  15,133,8,255,255,255                ; jne           382e <_sk_linear_gradient_sse2+0x4f>
18911  DB  235,13                              ; jmp           3935 <_sk_linear_gradient_sse2+0x156>
18912  DB  15,87,201                           ; xorps         %xmm1,%xmm1
18913  DB  15,87,210                           ; xorps         %xmm2,%xmm2
18914  DB  15,87,219                           ; xorps         %xmm3,%xmm3
18915  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
18916  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
18917  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
18918  DB  15,89,200                           ; mulps         %xmm0,%xmm1
18919  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
18920  DB  15,89,208                           ; mulps         %xmm0,%xmm2
18921  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
18922  DB  15,89,216                           ; mulps         %xmm0,%xmm3
18923  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
18924  DB  72,173                              ; lods          %ds:(%rsi),%rax
18925  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
18926  DB  255,224                             ; jmpq          *%rax
18927
18928PUBLIC _sk_linear_gradient_2stops_sse2
18929_sk_linear_gradient_2stops_sse2 LABEL PROC
18930  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18931  DB  72,173                              ; lods          %ds:(%rsi),%rax
18932  DB  243,15,16,0                         ; movss         (%rax),%xmm0
18933  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
18934  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
18935  DB  243,15,16,80,16                     ; movss         0x10(%rax),%xmm2
18936  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
18937  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
18938  DB  15,88,194                           ; addps         %xmm2,%xmm0
18939  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
18940  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
18941  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
18942  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
18943  DB  15,88,202                           ; addps         %xmm2,%xmm1
18944  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
18945  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
18946  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
18947  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
18948  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
18949  DB  15,88,211                           ; addps         %xmm3,%xmm2
18950  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
18951  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
18952  DB  243,68,15,16,72,28                  ; movss         0x1c(%rax),%xmm9
18953  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
18954  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
18955  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
18956  DB  72,173                              ; lods          %ds:(%rsi),%rax
18957  DB  255,224                             ; jmpq          *%rax
18958
18959PUBLIC _sk_xy_to_polar_unit_sse2
18960_sk_xy_to_polar_unit_sse2 LABEL PROC
18961  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
18962  DB  15,87,192                           ; xorps         %xmm0,%xmm0
18963  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
18964  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
18965  DB  69,15,84,200                        ; andps         %xmm8,%xmm9
18966  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
18967  DB  68,15,92,209                        ; subps         %xmm1,%xmm10
18968  DB  68,15,84,209                        ; andps         %xmm1,%xmm10
18969  DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
18970  DB  69,15,93,218                        ; minps         %xmm10,%xmm11
18971  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
18972  DB  69,15,95,226                        ; maxps         %xmm10,%xmm12
18973  DB  69,15,94,220                        ; divps         %xmm12,%xmm11
18974  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
18975  DB  69,15,89,228                        ; mulps         %xmm12,%xmm12
18976  DB  68,15,40,45,67,17,0,0               ; movaps        0x1143(%rip),%xmm13        # 4b50 <_sk_callback_sse2+0xd32>
18977  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
18978  DB  68,15,88,45,71,17,0,0               ; addps         0x1147(%rip),%xmm13        # 4b60 <_sk_callback_sse2+0xd42>
18979  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
18980  DB  68,15,88,45,75,17,0,0               ; addps         0x114b(%rip),%xmm13        # 4b70 <_sk_callback_sse2+0xd52>
18981  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
18982  DB  68,15,88,45,79,17,0,0               ; addps         0x114f(%rip),%xmm13        # 4b80 <_sk_callback_sse2+0xd62>
18983  DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
18984  DB  69,15,194,202,1                     ; cmpltps       %xmm10,%xmm9
18985  DB  68,15,40,21,78,17,0,0               ; movaps        0x114e(%rip),%xmm10        # 4b90 <_sk_callback_sse2+0xd72>
18986  DB  69,15,92,213                        ; subps         %xmm13,%xmm10
18987  DB  69,15,84,209                        ; andps         %xmm9,%xmm10
18988  DB  69,15,85,205                        ; andnps        %xmm13,%xmm9
18989  DB  69,15,86,202                        ; orps          %xmm10,%xmm9
18990  DB  68,15,194,192,1                     ; cmpltps       %xmm0,%xmm8
18991  DB  68,15,40,21,65,17,0,0               ; movaps        0x1141(%rip),%xmm10        # 4ba0 <_sk_callback_sse2+0xd82>
18992  DB  69,15,92,209                        ; subps         %xmm9,%xmm10
18993  DB  69,15,84,208                        ; andps         %xmm8,%xmm10
18994  DB  69,15,85,193                        ; andnps        %xmm9,%xmm8
18995  DB  69,15,86,194                        ; orps          %xmm10,%xmm8
18996  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
18997  DB  68,15,194,200,1                     ; cmpltps       %xmm0,%xmm9
18998  DB  68,15,40,21,48,17,0,0               ; movaps        0x1130(%rip),%xmm10        # 4bb0 <_sk_callback_sse2+0xd92>
18999  DB  69,15,92,208                        ; subps         %xmm8,%xmm10
19000  DB  69,15,84,209                        ; andps         %xmm9,%xmm10
19001  DB  69,15,85,200                        ; andnps        %xmm8,%xmm9
19002  DB  69,15,86,202                        ; orps          %xmm10,%xmm9
19003  DB  65,15,194,193,7                     ; cmpordps      %xmm9,%xmm0
19004  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
19005  DB  72,173                              ; lods          %ds:(%rsi),%rax
19006  DB  255,224                             ; jmpq          *%rax
19007
19008PUBLIC _sk_save_xy_sse2
19009_sk_save_xy_sse2 LABEL PROC
19010  DB  72,173                              ; lods          %ds:(%rsi),%rax
19011  DB  68,15,40,5,25,17,0,0                ; movaps        0x1119(%rip),%xmm8        # 4bc0 <_sk_callback_sse2+0xda2>
19012  DB  15,17,0                             ; movups        %xmm0,(%rax)
19013  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
19014  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
19015  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
19016  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
19017  DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
19018  DB  69,15,194,218,1                     ; cmpltps       %xmm10,%xmm11
19019  DB  68,15,40,37,4,17,0,0                ; movaps        0x1104(%rip),%xmm12        # 4bd0 <_sk_callback_sse2+0xdb2>
19020  DB  69,15,84,220                        ; andps         %xmm12,%xmm11
19021  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
19022  DB  69,15,92,202                        ; subps         %xmm10,%xmm9
19023  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
19024  DB  243,69,15,91,208                    ; cvttps2dq     %xmm8,%xmm10
19025  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
19026  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
19027  DB  69,15,194,218,1                     ; cmpltps       %xmm10,%xmm11
19028  DB  69,15,84,220                        ; andps         %xmm12,%xmm11
19029  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
19030  DB  69,15,92,194                        ; subps         %xmm10,%xmm8
19031  DB  15,17,72,32                         ; movups        %xmm1,0x20(%rax)
19032  DB  68,15,17,72,64                      ; movups        %xmm9,0x40(%rax)
19033  DB  68,15,17,64,96                      ; movups        %xmm8,0x60(%rax)
19034  DB  72,173                              ; lods          %ds:(%rsi),%rax
19035  DB  255,224                             ; jmpq          *%rax
19036
19037PUBLIC _sk_accumulate_sse2
19038_sk_accumulate_sse2 LABEL PROC
19039  DB  72,173                              ; lods          %ds:(%rsi),%rax
19040  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
19041  DB  68,15,16,136,160,0,0,0              ; movups        0xa0(%rax),%xmm9
19042  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
19043  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
19044  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
19045  DB  65,15,88,224                        ; addps         %xmm8,%xmm4
19046  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
19047  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
19048  DB  65,15,88,232                        ; addps         %xmm8,%xmm5
19049  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
19050  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
19051  DB  65,15,88,240                        ; addps         %xmm8,%xmm6
19052  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
19053  DB  65,15,88,249                        ; addps         %xmm9,%xmm7
19054  DB  72,173                              ; lods          %ds:(%rsi),%rax
19055  DB  255,224                             ; jmpq          *%rax
19056
19057PUBLIC _sk_bilinear_nx_sse2
19058_sk_bilinear_nx_sse2 LABEL PROC
19059  DB  72,173                              ; lods          %ds:(%rsi),%rax
19060  DB  15,16,0                             ; movups        (%rax),%xmm0
19061  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
19062  DB  15,88,5,125,16,0,0                  ; addps         0x107d(%rip),%xmm0        # 4be0 <_sk_callback_sse2+0xdc2>
19063  DB  68,15,40,13,133,16,0,0              ; movaps        0x1085(%rip),%xmm9        # 4bf0 <_sk_callback_sse2+0xdd2>
19064  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
19065  DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
19066  DB  72,173                              ; lods          %ds:(%rsi),%rax
19067  DB  255,224                             ; jmpq          *%rax
19068
19069PUBLIC _sk_bilinear_px_sse2
19070_sk_bilinear_px_sse2 LABEL PROC
19071  DB  72,173                              ; lods          %ds:(%rsi),%rax
19072  DB  15,16,0                             ; movups        (%rax),%xmm0
19073  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
19074  DB  15,88,5,116,16,0,0                  ; addps         0x1074(%rip),%xmm0        # 4c00 <_sk_callback_sse2+0xde2>
19075  DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
19076  DB  72,173                              ; lods          %ds:(%rsi),%rax
19077  DB  255,224                             ; jmpq          *%rax
19078
19079PUBLIC _sk_bilinear_ny_sse2
19080_sk_bilinear_ny_sse2 LABEL PROC
19081  DB  72,173                              ; lods          %ds:(%rsi),%rax
19082  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
19083  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
19084  DB  15,88,13,102,16,0,0                 ; addps         0x1066(%rip),%xmm1        # 4c10 <_sk_callback_sse2+0xdf2>
19085  DB  68,15,40,13,110,16,0,0              ; movaps        0x106e(%rip),%xmm9        # 4c20 <_sk_callback_sse2+0xe02>
19086  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
19087  DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
19088  DB  72,173                              ; lods          %ds:(%rsi),%rax
19089  DB  255,224                             ; jmpq          *%rax
19090
19091PUBLIC _sk_bilinear_py_sse2
19092_sk_bilinear_py_sse2 LABEL PROC
19093  DB  72,173                              ; lods          %ds:(%rsi),%rax
19094  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
19095  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
19096  DB  15,88,13,92,16,0,0                  ; addps         0x105c(%rip),%xmm1        # 4c30 <_sk_callback_sse2+0xe12>
19097  DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
19098  DB  72,173                              ; lods          %ds:(%rsi),%rax
19099  DB  255,224                             ; jmpq          *%rax
19100
19101PUBLIC _sk_bicubic_n3x_sse2
19102_sk_bicubic_n3x_sse2 LABEL PROC
19103  DB  72,173                              ; lods          %ds:(%rsi),%rax
19104  DB  15,16,0                             ; movups        (%rax),%xmm0
19105  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
19106  DB  15,88,5,79,16,0,0                   ; addps         0x104f(%rip),%xmm0        # 4c40 <_sk_callback_sse2+0xe22>
19107  DB  68,15,40,13,87,16,0,0               ; movaps        0x1057(%rip),%xmm9        # 4c50 <_sk_callback_sse2+0xe32>
19108  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
19109  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
19110  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
19111  DB  68,15,89,13,83,16,0,0               ; mulps         0x1053(%rip),%xmm9        # 4c60 <_sk_callback_sse2+0xe42>
19112  DB  68,15,88,13,91,16,0,0               ; addps         0x105b(%rip),%xmm9        # 4c70 <_sk_callback_sse2+0xe52>
19113  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
19114  DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
19115  DB  72,173                              ; lods          %ds:(%rsi),%rax
19116  DB  255,224                             ; jmpq          *%rax
19117
19118PUBLIC _sk_bicubic_n1x_sse2
19119_sk_bicubic_n1x_sse2 LABEL PROC
19120  DB  72,173                              ; lods          %ds:(%rsi),%rax
19121  DB  15,16,0                             ; movups        (%rax),%xmm0
19122  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
19123  DB  15,88,5,74,16,0,0                   ; addps         0x104a(%rip),%xmm0        # 4c80 <_sk_callback_sse2+0xe62>
19124  DB  68,15,40,13,82,16,0,0               ; movaps        0x1052(%rip),%xmm9        # 4c90 <_sk_callback_sse2+0xe72>
19125  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
19126  DB  68,15,40,5,86,16,0,0                ; movaps        0x1056(%rip),%xmm8        # 4ca0 <_sk_callback_sse2+0xe82>
19127  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19128  DB  68,15,88,5,90,16,0,0                ; addps         0x105a(%rip),%xmm8        # 4cb0 <_sk_callback_sse2+0xe92>
19129  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19130  DB  68,15,88,5,94,16,0,0                ; addps         0x105e(%rip),%xmm8        # 4cc0 <_sk_callback_sse2+0xea2>
19131  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19132  DB  68,15,88,5,98,16,0,0                ; addps         0x1062(%rip),%xmm8        # 4cd0 <_sk_callback_sse2+0xeb2>
19133  DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
19134  DB  72,173                              ; lods          %ds:(%rsi),%rax
19135  DB  255,224                             ; jmpq          *%rax
19136
19137PUBLIC _sk_bicubic_p1x_sse2
19138_sk_bicubic_p1x_sse2 LABEL PROC
19139  DB  72,173                              ; lods          %ds:(%rsi),%rax
19140  DB  68,15,40,5,92,16,0,0                ; movaps        0x105c(%rip),%xmm8        # 4ce0 <_sk_callback_sse2+0xec2>
19141  DB  15,16,0                             ; movups        (%rax),%xmm0
19142  DB  68,15,16,72,64                      ; movups        0x40(%rax),%xmm9
19143  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
19144  DB  68,15,40,21,88,16,0,0               ; movaps        0x1058(%rip),%xmm10        # 4cf0 <_sk_callback_sse2+0xed2>
19145  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
19146  DB  68,15,88,21,92,16,0,0               ; addps         0x105c(%rip),%xmm10        # 4d00 <_sk_callback_sse2+0xee2>
19147  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
19148  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
19149  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
19150  DB  68,15,88,21,88,16,0,0               ; addps         0x1058(%rip),%xmm10        # 4d10 <_sk_callback_sse2+0xef2>
19151  DB  68,15,17,144,128,0,0,0              ; movups        %xmm10,0x80(%rax)
19152  DB  72,173                              ; lods          %ds:(%rsi),%rax
19153  DB  255,224                             ; jmpq          *%rax
19154
19155PUBLIC _sk_bicubic_p3x_sse2
19156_sk_bicubic_p3x_sse2 LABEL PROC
19157  DB  72,173                              ; lods          %ds:(%rsi),%rax
19158  DB  15,16,0                             ; movups        (%rax),%xmm0
19159  DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
19160  DB  15,88,5,75,16,0,0                   ; addps         0x104b(%rip),%xmm0        # 4d20 <_sk_callback_sse2+0xf02>
19161  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
19162  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
19163  DB  68,15,89,5,75,16,0,0                ; mulps         0x104b(%rip),%xmm8        # 4d30 <_sk_callback_sse2+0xf12>
19164  DB  68,15,88,5,83,16,0,0                ; addps         0x1053(%rip),%xmm8        # 4d40 <_sk_callback_sse2+0xf22>
19165  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19166  DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
19167  DB  72,173                              ; lods          %ds:(%rsi),%rax
19168  DB  255,224                             ; jmpq          *%rax
19169
19170PUBLIC _sk_bicubic_n3y_sse2
19171_sk_bicubic_n3y_sse2 LABEL PROC
19172  DB  72,173                              ; lods          %ds:(%rsi),%rax
19173  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
19174  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
19175  DB  15,88,13,65,16,0,0                  ; addps         0x1041(%rip),%xmm1        # 4d50 <_sk_callback_sse2+0xf32>
19176  DB  68,15,40,13,73,16,0,0               ; movaps        0x1049(%rip),%xmm9        # 4d60 <_sk_callback_sse2+0xf42>
19177  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
19178  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
19179  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
19180  DB  68,15,89,13,69,16,0,0               ; mulps         0x1045(%rip),%xmm9        # 4d70 <_sk_callback_sse2+0xf52>
19181  DB  68,15,88,13,77,16,0,0               ; addps         0x104d(%rip),%xmm9        # 4d80 <_sk_callback_sse2+0xf62>
19182  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
19183  DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
19184  DB  72,173                              ; lods          %ds:(%rsi),%rax
19185  DB  255,224                             ; jmpq          *%rax
19186
19187PUBLIC _sk_bicubic_n1y_sse2
19188_sk_bicubic_n1y_sse2 LABEL PROC
19189  DB  72,173                              ; lods          %ds:(%rsi),%rax
19190  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
19191  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
19192  DB  15,88,13,59,16,0,0                  ; addps         0x103b(%rip),%xmm1        # 4d90 <_sk_callback_sse2+0xf72>
19193  DB  68,15,40,13,67,16,0,0               ; movaps        0x1043(%rip),%xmm9        # 4da0 <_sk_callback_sse2+0xf82>
19194  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
19195  DB  68,15,40,5,71,16,0,0                ; movaps        0x1047(%rip),%xmm8        # 4db0 <_sk_callback_sse2+0xf92>
19196  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19197  DB  68,15,88,5,75,16,0,0                ; addps         0x104b(%rip),%xmm8        # 4dc0 <_sk_callback_sse2+0xfa2>
19198  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19199  DB  68,15,88,5,79,16,0,0                ; addps         0x104f(%rip),%xmm8        # 4dd0 <_sk_callback_sse2+0xfb2>
19200  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19201  DB  68,15,88,5,83,16,0,0                ; addps         0x1053(%rip),%xmm8        # 4de0 <_sk_callback_sse2+0xfc2>
19202  DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
19203  DB  72,173                              ; lods          %ds:(%rsi),%rax
19204  DB  255,224                             ; jmpq          *%rax
19205
19206PUBLIC _sk_bicubic_p1y_sse2
19207_sk_bicubic_p1y_sse2 LABEL PROC
19208  DB  72,173                              ; lods          %ds:(%rsi),%rax
19209  DB  68,15,40,5,77,16,0,0                ; movaps        0x104d(%rip),%xmm8        # 4df0 <_sk_callback_sse2+0xfd2>
19210  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
19211  DB  68,15,16,72,96                      ; movups        0x60(%rax),%xmm9
19212  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
19213  DB  68,15,40,21,72,16,0,0               ; movaps        0x1048(%rip),%xmm10        # 4e00 <_sk_callback_sse2+0xfe2>
19214  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
19215  DB  68,15,88,21,76,16,0,0               ; addps         0x104c(%rip),%xmm10        # 4e10 <_sk_callback_sse2+0xff2>
19216  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
19217  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
19218  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
19219  DB  68,15,88,21,72,16,0,0               ; addps         0x1048(%rip),%xmm10        # 4e20 <_sk_callback_sse2+0x1002>
19220  DB  68,15,17,144,160,0,0,0              ; movups        %xmm10,0xa0(%rax)
19221  DB  72,173                              ; lods          %ds:(%rsi),%rax
19222  DB  255,224                             ; jmpq          *%rax
19223
19224PUBLIC _sk_bicubic_p3y_sse2
19225_sk_bicubic_p3y_sse2 LABEL PROC
19226  DB  72,173                              ; lods          %ds:(%rsi),%rax
19227  DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
19228  DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
19229  DB  15,88,13,58,16,0,0                  ; addps         0x103a(%rip),%xmm1        # 4e30 <_sk_callback_sse2+0x1012>
19230  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
19231  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
19232  DB  68,15,89,5,58,16,0,0                ; mulps         0x103a(%rip),%xmm8        # 4e40 <_sk_callback_sse2+0x1022>
19233  DB  68,15,88,5,66,16,0,0                ; addps         0x1042(%rip),%xmm8        # 4e50 <_sk_callback_sse2+0x1032>
19234  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
19235  DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
19236  DB  72,173                              ; lods          %ds:(%rsi),%rax
19237  DB  255,224                             ; jmpq          *%rax
19238
19239PUBLIC _sk_callback_sse2
19240_sk_callback_sse2 LABEL PROC
19241  DB  65,86                               ; push          %r14
19242  DB  83                                  ; push          %rbx
19243  DB  72,131,236,40                       ; sub           $0x28,%rsp
19244  DB  68,15,40,197                        ; movaps        %xmm5,%xmm8
19245  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
19246  DB  73,137,214                          ; mov           %rdx,%r14
19247  DB  72,173                              ; lods          %ds:(%rsi),%rax
19248  DB  72,137,195                          ; mov           %rax,%rbx
19249  DB  15,40,224                           ; movaps        %xmm0,%xmm4
19250  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
19251  DB  15,40,234                           ; movaps        %xmm2,%xmm5
19252  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
19253  DB  15,21,193                           ; unpckhps      %xmm1,%xmm0
19254  DB  15,21,211                           ; unpckhps      %xmm3,%xmm2
19255  DB  15,40,204                           ; movaps        %xmm4,%xmm1
19256  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
19257  DB  15,18,236                           ; movhlps       %xmm4,%xmm5
19258  DB  15,40,216                           ; movaps        %xmm0,%xmm3
19259  DB  102,15,20,218                       ; unpcklpd      %xmm2,%xmm3
19260  DB  15,18,208                           ; movhlps       %xmm0,%xmm2
19261  DB  102,15,17,75,8                      ; movupd        %xmm1,0x8(%rbx)
19262  DB  15,17,107,24                        ; movups        %xmm5,0x18(%rbx)
19263  DB  102,15,17,91,40                     ; movupd        %xmm3,0x28(%rbx)
19264  DB  15,17,83,56                         ; movups        %xmm2,0x38(%rbx)
19265  DB  186,4,0,0,0                         ; mov           $0x4,%edx
19266  DB  72,137,217                          ; mov           %rbx,%rcx
19267  DB  255,19                              ; callq         *(%rbx)
19268  DB  72,139,131,136,0,0,0                ; mov           0x88(%rbx),%rax
19269  DB  15,16,32                            ; movups        (%rax),%xmm4
19270  DB  15,16,64,16                         ; movups        0x10(%rax),%xmm0
19271  DB  15,16,88,32                         ; movups        0x20(%rax),%xmm3
19272  DB  15,16,80,48                         ; movups        0x30(%rax),%xmm2
19273  DB  15,40,236                           ; movaps        %xmm4,%xmm5
19274  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
19275  DB  15,40,203                           ; movaps        %xmm3,%xmm1
19276  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
19277  DB  15,21,224                           ; unpckhps      %xmm0,%xmm4
19278  DB  15,21,218                           ; unpckhps      %xmm2,%xmm3
19279  DB  15,40,197                           ; movaps        %xmm5,%xmm0
19280  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
19281  DB  15,18,205                           ; movhlps       %xmm5,%xmm1
19282  DB  15,40,212                           ; movaps        %xmm4,%xmm2
19283  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
19284  DB  15,18,220                           ; movhlps       %xmm4,%xmm3
19285  DB  72,173                              ; lods          %ds:(%rsi),%rax
19286  DB  76,137,242                          ; mov           %r14,%rdx
19287  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
19288  DB  65,15,40,232                        ; movaps        %xmm8,%xmm5
19289  DB  72,131,196,40                       ; add           $0x28,%rsp
19290  DB  91                                  ; pop           %rbx
19291  DB  65,94                               ; pop           %r14
19292  DB  255,224                             ; jmpq          *%rax
19293
19294ALIGN 16
19295  DB  0,0                                 ; add           %al,(%rax)
19296  DB  0,63                                ; add           %bh,(%rdi)
19297  DB  0,0                                 ; add           %al,(%rax)
19298  DB  0,63                                ; add           %bh,(%rdi)
19299  DB  0,0                                 ; add           %al,(%rax)
19300  DB  0,63                                ; add           %bh,(%rdi)
19301  DB  0,0                                 ; add           %al,(%rax)
19302  DB  0,63                                ; add           %bh,(%rdi)
19303  DB  0,0                                 ; add           %al,(%rax)
19304  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19305  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19306  DB  63                                  ; (bad)
19307  DB  0,0                                 ; add           %al,(%rax)
19308  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19309  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19310  DB  63                                  ; (bad)
19311  DB  0,0                                 ; add           %al,(%rax)
19312  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19313  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19314  DB  63                                  ; (bad)
19315  DB  0,0                                 ; add           %al,(%rax)
19316  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19317  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19318  DB  63                                  ; (bad)
19319  DB  0,0                                 ; add           %al,(%rax)
19320  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19321  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19322  DB  63                                  ; (bad)
19323  DB  0,0                                 ; add           %al,(%rax)
19324  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19325  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19326  DB  63                                  ; (bad)
19327  DB  0,0                                 ; add           %al,(%rax)
19328  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19329  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19330  DB  63                                  ; (bad)
19331  DB  0,0                                 ; add           %al,(%rax)
19332  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19333  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19334  DB  63                                  ; (bad)
19335  DB  0,0                                 ; add           %al,(%rax)
19336  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19337  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19338  DB  63                                  ; (bad)
19339  DB  0,0                                 ; add           %al,(%rax)
19340  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19341  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19342  DB  63                                  ; (bad)
19343  DB  0,0                                 ; add           %al,(%rax)
19344  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19345  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19346  DB  63                                  ; (bad)
19347  DB  0,0                                 ; add           %al,(%rax)
19348  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19349  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19350  DB  63                                  ; (bad)
19351  DB  0,0                                 ; add           %al,(%rax)
19352  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19353  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19354  DB  63                                  ; (bad)
19355  DB  0,0                                 ; add           %al,(%rax)
19356  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19357  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19358  DB  63                                  ; (bad)
19359  DB  0,0                                 ; add           %al,(%rax)
19360  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19361  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19362  DB  63                                  ; (bad)
19363  DB  0,0                                 ; add           %al,(%rax)
19364  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19365  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19366  DB  63                                  ; (bad)
19367  DB  0,0                                 ; add           %al,(%rax)
19368  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19369  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19370  DB  63                                  ; (bad)
19371  DB  0,0                                 ; add           %al,(%rax)
19372  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19373  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19374  DB  63                                  ; (bad)
19375  DB  0,0                                 ; add           %al,(%rax)
19376  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19377  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19378  DB  63                                  ; (bad)
19379  DB  0,0                                 ; add           %al,(%rax)
19380  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19381  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19382  DB  63                                  ; (bad)
19383  DB  0,0                                 ; add           %al,(%rax)
19384  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19385  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19386  DB  63                                  ; (bad)
19387  DB  0,0                                 ; add           %al,(%rax)
19388  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19389  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19390  DB  63                                  ; (bad)
19391  DB  0,0                                 ; add           %al,(%rax)
19392  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19393  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19394  DB  63                                  ; (bad)
19395  DB  0,0                                 ; add           %al,(%rax)
19396  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19397  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19398  DB  63                                  ; (bad)
19399  DB  0,0                                 ; add           %al,(%rax)
19400  DB  128,191,0,0,128,191,0               ; cmpb          $0x0,-0x40800000(%rdi)
19401  DB  0,128,191,0,0,128                   ; add           %al,-0x7fffff41(%rax)
19402  DB  191,0,0,224,64                      ; mov           $0x40e00000,%edi
19403  DB  0,0                                 ; add           %al,(%rax)
19404  DB  224,64                              ; loopne        4058 <.literal16+0x188>
19405  DB  0,0                                 ; add           %al,(%rax)
19406  DB  224,64                              ; loopne        405c <.literal16+0x18c>
19407  DB  0,0                                 ; add           %al,(%rax)
19408  DB  224,64                              ; loopne        4060 <.literal16+0x190>
19409  DB  0,0                                 ; add           %al,(%rax)
19410  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19411  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19412  DB  63                                  ; (bad)
19413  DB  0,0                                 ; add           %al,(%rax)
19414  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19415  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19416  DB  63                                  ; (bad)
19417  DB  0,0                                 ; add           %al,(%rax)
19418  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19419  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19420  DB  63                                  ; (bad)
19421  DB  0,0                                 ; add           %al,(%rax)
19422  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19423  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19424  DB  63                                  ; (bad)
19425  DB  145                                 ; xchg          %eax,%ecx
19426  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
19427  DB  145                                 ; xchg          %eax,%ecx
19428  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
19429  DB  154                                 ; (bad)
19430  DB  153                                 ; cltd
19431  DB  153                                 ; cltd
19432  DB  62,154                              ; ds            (bad)
19433  DB  153                                 ; cltd
19434  DB  153                                 ; cltd
19435  DB  62,154                              ; ds            (bad)
19436  DB  153                                 ; cltd
19437  DB  153                                 ; cltd
19438  DB  62,154                              ; ds            (bad)
19439  DB  153                                 ; cltd
19440  DB  153                                 ; cltd
19441  DB  62,92                               ; ds            pop %rsp
19442  DB  143                                 ; (bad)
19443  DB  50,63                               ; xor           (%rdi),%bh
19444  DB  92                                  ; pop           %rsp
19445  DB  143                                 ; (bad)
19446  DB  50,63                               ; xor           (%rdi),%bh
19447  DB  92                                  ; pop           %rsp
19448  DB  143                                 ; (bad)
19449  DB  50,63                               ; xor           (%rdi),%bh
19450  DB  92                                  ; pop           %rsp
19451  DB  143                                 ; (bad)
19452  DB  50,63                               ; xor           (%rdi),%bh
19453  DB  10,215                              ; or            %bh,%dl
19454  DB  35,59                               ; and           (%rbx),%edi
19455  DB  10,215                              ; or            %bh,%dl
19456  DB  35,59                               ; and           (%rbx),%edi
19457  DB  10,215                              ; or            %bh,%dl
19458  DB  35,59                               ; and           (%rbx),%edi
19459  DB  10,215                              ; or            %bh,%dl
19460  DB  35,59                               ; and           (%rbx),%edi
19461  DB  174                                 ; scas          %es:(%rdi),%al
19462  DB  71,97                               ; rex.RXB       (bad)
19463  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
19464  DB  174                                 ; scas          %es:(%rdi),%al
19465  DB  71,97                               ; rex.RXB       (bad)
19466  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
19467  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
19468  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
19469  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
19470  DB  41,92,71,65                         ; sub           %ebx,0x41(%rdi,%rax,2)
19471  DB  206                                 ; (bad)
19472  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
19473  DB  48,63                               ; xor           %bh,(%rdi)
19474  DB  206                                 ; (bad)
19475  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
19476  DB  48,63                               ; xor           %bh,(%rdi)
19477  DB  206                                 ; (bad)
19478  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
19479  DB  48,63                               ; xor           %bh,(%rdi)
19480  DB  206                                 ; (bad)
19481  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
19482  DB  48,63                               ; xor           %bh,(%rdi)
19483  DB  168,87                              ; test          $0x57,%al
19484  DB  202,189,168                         ; lret          $0xa8bd
19485  DB  87                                  ; push          %rdi
19486  DB  202,189,168                         ; lret          $0xa8bd
19487  DB  87                                  ; push          %rdi
19488  DB  202,189,168                         ; lret          $0xa8bd
19489  DB  87                                  ; push          %rdi
19490  DB  202,189,194                         ; lret          $0xc2bd
19491  DB  135,210                             ; xchg          %edx,%edx
19492  DB  62,194,135,210                      ; ds            retq $0xd287
19493  DB  62,194,135,210                      ; ds            retq $0xd287
19494  DB  62,194,135,210                      ; ds            retq $0xd287
19495  DB  62,0,0                              ; add           %al,%ds:(%rax)
19496  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19497  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19498  DB  63                                  ; (bad)
19499  DB  0,0                                 ; add           %al,(%rax)
19500  DB  128,63,4                            ; cmpb          $0x4,(%rdi)
19501  DB  231,140                             ; out           %eax,$0x8c
19502  DB  59,4,231                            ; cmp           (%rdi,%riz,8),%eax
19503  DB  140,59                              ; mov           %?,(%rbx)
19504  DB  4,231                               ; add           $0xe7,%al
19505  DB  140,59                              ; mov           %?,(%rbx)
19506  DB  4,231                               ; add           $0xe7,%al
19507  DB  140,59                              ; mov           %?,(%rbx)
19508  DB  0,0                                 ; add           %al,(%rax)
19509  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19510  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19511  DB  63                                  ; (bad)
19512  DB  0,0                                 ; add           %al,(%rax)
19513  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19514  DB  0,192                               ; add           %al,%al
19515  DB  64,0,0                              ; add           %al,(%rax)
19516  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
19517  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
19518  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
19519  DB  0,64,0                              ; add           %al,0x0(%rax)
19520  DB  0,0                                 ; add           %al,(%rax)
19521  DB  64,0,0                              ; add           %al,(%rax)
19522  DB  0,64,0                              ; add           %al,0x0(%rax)
19523  DB  0,0                                 ; add           %al,(%rax)
19524  DB  64,0,0                              ; add           %al,(%rax)
19525  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
19526  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
19527  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
19528  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%rax)
19529  DB  42,62                               ; sub           (%rsi),%bh
19530  DB  171                                 ; stos          %eax,%es:(%rdi)
19531  DB  170                                 ; stos          %al,%es:(%rdi)
19532  DB  42,62                               ; sub           (%rsi),%bh
19533  DB  171                                 ; stos          %eax,%es:(%rdi)
19534  DB  170                                 ; stos          %al,%es:(%rdi)
19535  DB  42,62                               ; sub           (%rsi),%bh
19536  DB  171                                 ; stos          %eax,%es:(%rdi)
19537  DB  170                                 ; stos          %al,%es:(%rdi)
19538  DB  42,62                               ; sub           (%rsi),%bh
19539  DB  0,0                                 ; add           %al,(%rax)
19540  DB  0,63                                ; add           %bh,(%rdi)
19541  DB  0,0                                 ; add           %al,(%rax)
19542  DB  0,63                                ; add           %bh,(%rdi)
19543  DB  0,0                                 ; add           %al,(%rax)
19544  DB  0,63                                ; add           %bh,(%rdi)
19545  DB  0,0                                 ; add           %al,(%rax)
19546  DB  0,63                                ; add           %bh,(%rdi)
19547  DB  0,0                                 ; add           %al,(%rax)
19548  DB  0,63                                ; add           %bh,(%rdi)
19549  DB  0,0                                 ; add           %al,(%rax)
19550  DB  0,63                                ; add           %bh,(%rdi)
19551  DB  0,0                                 ; add           %al,(%rax)
19552  DB  0,63                                ; add           %bh,(%rdi)
19553  DB  0,0                                 ; add           %al,(%rax)
19554  DB  0,63                                ; add           %bh,(%rdi)
19555  DB  171                                 ; stos          %eax,%es:(%rdi)
19556  DB  170                                 ; stos          %al,%es:(%rdi)
19557  DB  170                                 ; stos          %al,%es:(%rdi)
19558  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
19559  DB  170                                 ; stos          %al,%es:(%rdi)
19560  DB  170                                 ; stos          %al,%es:(%rdi)
19561  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
19562  DB  170                                 ; stos          %al,%es:(%rdi)
19563  DB  170                                 ; stos          %al,%es:(%rdi)
19564  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
19565  DB  170                                 ; stos          %al,%es:(%rdi)
19566  DB  170                                 ; stos          %al,%es:(%rdi)
19567  DB  62,0,0                              ; add           %al,%ds:(%rax)
19568  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19569  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19570  DB  63                                  ; (bad)
19571  DB  0,0                                 ; add           %al,(%rax)
19572  DB  128,63,171                          ; cmpb          $0xab,(%rdi)
19573  DB  170                                 ; stos          %al,%es:(%rdi)
19574  DB  42,63                               ; sub           (%rdi),%bh
19575  DB  171                                 ; stos          %eax,%es:(%rdi)
19576  DB  170                                 ; stos          %al,%es:(%rdi)
19577  DB  42,63                               ; sub           (%rdi),%bh
19578  DB  171                                 ; stos          %eax,%es:(%rdi)
19579  DB  170                                 ; stos          %al,%es:(%rdi)
19580  DB  42,63                               ; sub           (%rdi),%bh
19581  DB  171                                 ; stos          %eax,%es:(%rdi)
19582  DB  170                                 ; stos          %al,%es:(%rdi)
19583  DB  42,63                               ; sub           (%rdi),%bh
19584  DB  0,0                                 ; add           %al,(%rax)
19585  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
19586  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
19587  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
19588  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
19589  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
19590  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
19591  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
19592  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%rax)
19593  DB  42,62                               ; sub           (%rsi),%bh
19594  DB  171                                 ; stos          %eax,%es:(%rdi)
19595  DB  170                                 ; stos          %al,%es:(%rdi)
19596  DB  42,62                               ; sub           (%rsi),%bh
19597  DB  171                                 ; stos          %eax,%es:(%rdi)
19598  DB  170                                 ; stos          %al,%es:(%rdi)
19599  DB  42,62                               ; sub           (%rsi),%bh
19600  DB  171                                 ; stos          %eax,%es:(%rdi)
19601  DB  170                                 ; stos          %al,%es:(%rdi)
19602  DB  42,62                               ; sub           (%rsi),%bh
19603  DB  171                                 ; stos          %eax,%es:(%rdi)
19604  DB  170                                 ; stos          %al,%es:(%rdi)
19605  DB  170                                 ; stos          %al,%es:(%rdi)
19606  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
19607  DB  171                                 ; stos          %eax,%es:(%rdi)
19608  DB  170                                 ; stos          %al,%es:(%rdi)
19609  DB  170                                 ; stos          %al,%es:(%rdi)
19610  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
19611  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
19612  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
19613  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
19614  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
19615  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
19616  DB  248                                 ; clc
19617  DB  0,0                                 ; add           %al,(%rax)
19618  DB  0,248                               ; add           %bh,%al
19619  DB  0,0                                 ; add           %al,(%rax)
19620  DB  0,248                               ; add           %bh,%al
19621  DB  0,0                                 ; add           %al,(%rax)
19622  DB  0,248                               ; add           %bh,%al
19623  DB  0,0                                 ; add           %al,(%rax)
19624  DB  8,33                                ; or            %ah,(%rcx)
19625  DB  132,55                              ; test          %dh,(%rdi)
19626  DB  8,33                                ; or            %ah,(%rcx)
19627  DB  132,55                              ; test          %dh,(%rdi)
19628  DB  8,33                                ; or            %ah,(%rcx)
19629  DB  132,55                              ; test          %dh,(%rdi)
19630  DB  8,33                                ; or            %ah,(%rcx)
19631  DB  132,55                              ; test          %dh,(%rdi)
19632  DB  224,7                               ; loopne        4229 <.literal16+0x359>
19633  DB  0,0                                 ; add           %al,(%rax)
19634  DB  224,7                               ; loopne        422d <.literal16+0x35d>
19635  DB  0,0                                 ; add           %al,(%rax)
19636  DB  224,7                               ; loopne        4231 <.literal16+0x361>
19637  DB  0,0                                 ; add           %al,(%rax)
19638  DB  224,7                               ; loopne        4235 <.literal16+0x365>
19639  DB  0,0                                 ; add           %al,(%rax)
19640  DB  33,8                                ; and           %ecx,(%rax)
19641  DB  2,58                                ; add           (%rdx),%bh
19642  DB  33,8                                ; and           %ecx,(%rax)
19643  DB  2,58                                ; add           (%rdx),%bh
19644  DB  33,8                                ; and           %ecx,(%rax)
19645  DB  2,58                                ; add           (%rdx),%bh
19646  DB  33,8                                ; and           %ecx,(%rax)
19647  DB  2,58                                ; add           (%rdx),%bh
19648  DB  31                                  ; (bad)
19649  DB  0,0                                 ; add           %al,(%rax)
19650  DB  0,31                                ; add           %bl,(%rdi)
19651  DB  0,0                                 ; add           %al,(%rax)
19652  DB  0,31                                ; add           %bl,(%rdi)
19653  DB  0,0                                 ; add           %al,(%rax)
19654  DB  0,31                                ; add           %bl,(%rdi)
19655  DB  0,0                                 ; add           %al,(%rax)
19656  DB  0,8                                 ; add           %cl,(%rax)
19657  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%rdi,1)
19658  DB  8,33                                ; or            %ah,(%rcx)
19659  DB  4,61                                ; add           $0x3d,%al
19660  DB  8,33                                ; or            %ah,(%rcx)
19661  DB  4,61                                ; add           $0x3d,%al
19662  DB  0,0                                 ; add           %al,(%rax)
19663  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19664  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19665  DB  63                                  ; (bad)
19666  DB  0,0                                 ; add           %al,(%rax)
19667  DB  128,63,255                          ; cmpb          $0xff,(%rdi)
19668  DB  0,0                                 ; add           %al,(%rax)
19669  DB  0,255                               ; add           %bh,%bh
19670  DB  0,0                                 ; add           %al,(%rax)
19671  DB  0,255                               ; add           %bh,%bh
19672  DB  0,0                                 ; add           %al,(%rax)
19673  DB  0,255                               ; add           %bh,%bh
19674  DB  0,0                                 ; add           %al,(%rax)
19675  DB  0,129,128,128,59,129                ; add           %al,-0x7ec47f80(%rcx)
19676  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
19677  DB  129,128,128,59,255,0,255,0,255,0    ; addl          $0xff00ff,0xff3b80(%rax)
19678  DB  255,0                               ; incl          (%rax)
19679  DB  0,0                                 ; add           %al,(%rax)
19680  DB  0,0                                 ; add           %al,(%rax)
19681  DB  0,0                                 ; add           %al,(%rax)
19682  DB  0,0                                 ; add           %al,(%rax)
19683  DB  128,0,128                           ; addb          $0x80,(%rax)
19684  DB  55                                  ; (bad)
19685  DB  128,0,128                           ; addb          $0x80,(%rax)
19686  DB  55                                  ; (bad)
19687  DB  128,0,128                           ; addb          $0x80,(%rax)
19688  DB  55                                  ; (bad)
19689  DB  128,0,128                           ; addb          $0x80,(%rax)
19690  DB  55                                  ; (bad)
19691  DB  255,0                               ; incl          (%rax)
19692  DB  255,0                               ; incl          (%rax)
19693  DB  255,0                               ; incl          (%rax)
19694  DB  255,0                               ; incl          (%rax)
19695  DB  0,0                                 ; add           %al,(%rax)
19696  DB  0,0                                 ; add           %al,(%rax)
19697  DB  0,0                                 ; add           %al,(%rax)
19698  DB  0,0                                 ; add           %al,(%rax)
19699  DB  0,0                                 ; add           %al,(%rax)
19700  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19701  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19702  DB  63                                  ; (bad)
19703  DB  0,0                                 ; add           %al,(%rax)
19704  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19705  DB  0,127,67                            ; add           %bh,0x43(%rdi)
19706  DB  0,0                                 ; add           %al,(%rax)
19707  DB  127,67                              ; jg            431b <.literal16+0x44b>
19708  DB  0,0                                 ; add           %al,(%rax)
19709  DB  127,67                              ; jg            431f <.literal16+0x44f>
19710  DB  0,0                                 ; add           %al,(%rax)
19711  DB  127,67                              ; jg            4323 <.literal16+0x453>
19712  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
19713  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
19714  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
19715  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
19716  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
19717  DB  0,0                                 ; add           %al,(%rax)
19718  DB  52,0                                ; xor           $0x0,%al
19719  DB  0,0                                 ; add           %al,(%rax)
19720  DB  52,0                                ; xor           $0x0,%al
19721  DB  0,0                                 ; add           %al,(%rax)
19722  DB  52,0                                ; xor           $0x0,%al
19723  DB  0,0                                 ; add           %al,(%rax)
19724  DB  52,255                              ; xor           $0xff,%al
19725  DB  255                                 ; (bad)
19726  DB  127,0                               ; jg            4314 <.literal16+0x444>
19727  DB  255                                 ; (bad)
19728  DB  255                                 ; (bad)
19729  DB  127,0                               ; jg            4318 <.literal16+0x448>
19730  DB  255                                 ; (bad)
19731  DB  255                                 ; (bad)
19732  DB  127,0                               ; jg            431c <.literal16+0x44c>
19733  DB  255                                 ; (bad)
19734  DB  255                                 ; (bad)
19735  DB  127,0                               ; jg            4320 <.literal16+0x450>
19736  DB  0,0                                 ; add           %al,(%rax)
19737  DB  0,63                                ; add           %bh,(%rdi)
19738  DB  0,0                                 ; add           %al,(%rax)
19739  DB  0,63                                ; add           %bh,(%rdi)
19740  DB  0,0                                 ; add           %al,(%rax)
19741  DB  0,63                                ; add           %bh,(%rdi)
19742  DB  0,0                                 ; add           %al,(%rax)
19743  DB  0,63                                ; add           %bh,(%rdi)
19744  DB  119,115                             ; ja            43a5 <.literal16+0x4d5>
19745  DB  248                                 ; clc
19746  DB  194,119,115                         ; retq          $0x7377
19747  DB  248                                 ; clc
19748  DB  194,119,115                         ; retq          $0x7377
19749  DB  248                                 ; clc
19750  DB  194,119,115                         ; retq          $0x7377
19751  DB  248                                 ; clc
19752  DB  194,117,191                         ; retq          $0xbf75
19753  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
19754  DB  63                                  ; (bad)
19755  DB  117,191                             ; jne           4309 <.literal16+0x439>
19756  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
19757  DB  63                                  ; (bad)
19758  DB  249                                 ; stc
19759  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19760  DB  249                                 ; stc
19761  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19762  DB  249                                 ; stc
19763  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19764  DB  249                                 ; stc
19765  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19766  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
19767  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3834a <_sk_callback_sse2+0xffffffffe9a3452c>
19768  DB  220,63                              ; fdivrl        (%rdi)
19769  DB  0,0                                 ; add           %al,(%rax)
19770  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19771  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19772  DB  63                                  ; (bad)
19773  DB  0,0                                 ; add           %al,(%rax)
19774  DB  128,63,81                           ; cmpb          $0x51,(%rdi)
19775  DB  140,242                             ; mov           %?,%edx
19776  DB  66,81                               ; rex.X         push %rcx
19777  DB  140,242                             ; mov           %?,%edx
19778  DB  66,81                               ; rex.X         push %rcx
19779  DB  140,242                             ; mov           %?,%edx
19780  DB  66,81                               ; rex.X         push %rcx
19781  DB  140,242                             ; mov           %?,%edx
19782  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
19783  DB  63                                  ; (bad)
19784  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
19785  DB  63                                  ; (bad)
19786  DB  248                                 ; clc
19787  DB  245                                 ; cmc
19788  DB  154                                 ; (bad)
19789  DB  64,248                              ; rex           clc
19790  DB  245                                 ; cmc
19791  DB  154                                 ; (bad)
19792  DB  64,248                              ; rex           clc
19793  DB  245                                 ; cmc
19794  DB  154                                 ; (bad)
19795  DB  64,248                              ; rex           clc
19796  DB  245                                 ; cmc
19797  DB  154                                 ; (bad)
19798  DB  64,254                              ; rex           (bad)
19799  DB  210,221                             ; rcr           %cl,%ch
19800  DB  65,254                              ; rex.B         (bad)
19801  DB  210,221                             ; rcr           %cl,%ch
19802  DB  65,254                              ; rex.B         (bad)
19803  DB  210,221                             ; rcr           %cl,%ch
19804  DB  65,254                              ; rex.B         (bad)
19805  DB  210,221                             ; rcr           %cl,%ch
19806  DB  65,0,0                              ; add           %al,(%r8)
19807  DB  0,75,0                              ; add           %cl,0x0(%rbx)
19808  DB  0,0                                 ; add           %al,(%rax)
19809  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
19810  DB  0,75,0                              ; add           %cl,0x0(%rbx)
19811  DB  0,0                                 ; add           %al,(%rax)
19812  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
19813  DB  0,52,0                              ; add           %dh,(%rax,%rax,1)
19814  DB  0,0                                 ; add           %al,(%rax)
19815  DB  52,0                                ; xor           $0x0,%al
19816  DB  0,0                                 ; add           %al,(%rax)
19817  DB  52,0                                ; xor           $0x0,%al
19818  DB  0,0                                 ; add           %al,(%rax)
19819  DB  52,255                              ; xor           $0xff,%al
19820  DB  255                                 ; (bad)
19821  DB  127,0                               ; jg            43e4 <.literal16+0x514>
19822  DB  255                                 ; (bad)
19823  DB  255                                 ; (bad)
19824  DB  127,0                               ; jg            43e8 <.literal16+0x518>
19825  DB  255                                 ; (bad)
19826  DB  255                                 ; (bad)
19827  DB  127,0                               ; jg            43ec <.literal16+0x51c>
19828  DB  255                                 ; (bad)
19829  DB  255                                 ; (bad)
19830  DB  127,0                               ; jg            43f0 <.literal16+0x520>
19831  DB  0,0                                 ; add           %al,(%rax)
19832  DB  0,63                                ; add           %bh,(%rdi)
19833  DB  0,0                                 ; add           %al,(%rax)
19834  DB  0,63                                ; add           %bh,(%rdi)
19835  DB  0,0                                 ; add           %al,(%rax)
19836  DB  0,63                                ; add           %bh,(%rdi)
19837  DB  0,0                                 ; add           %al,(%rax)
19838  DB  0,63                                ; add           %bh,(%rdi)
19839  DB  119,115                             ; ja            4475 <.literal16+0x5a5>
19840  DB  248                                 ; clc
19841  DB  194,119,115                         ; retq          $0x7377
19842  DB  248                                 ; clc
19843  DB  194,119,115                         ; retq          $0x7377
19844  DB  248                                 ; clc
19845  DB  194,119,115                         ; retq          $0x7377
19846  DB  248                                 ; clc
19847  DB  194,117,191                         ; retq          $0xbf75
19848  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
19849  DB  63                                  ; (bad)
19850  DB  117,191                             ; jne           43d9 <.literal16+0x509>
19851  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
19852  DB  63                                  ; (bad)
19853  DB  249                                 ; stc
19854  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19855  DB  249                                 ; stc
19856  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19857  DB  249                                 ; stc
19858  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19859  DB  249                                 ; stc
19860  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19861  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
19862  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3841a <_sk_callback_sse2+0xffffffffe9a345fc>
19863  DB  220,63                              ; fdivrl        (%rdi)
19864  DB  0,0                                 ; add           %al,(%rax)
19865  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19866  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19867  DB  63                                  ; (bad)
19868  DB  0,0                                 ; add           %al,(%rax)
19869  DB  128,63,81                           ; cmpb          $0x51,(%rdi)
19870  DB  140,242                             ; mov           %?,%edx
19871  DB  66,81                               ; rex.X         push %rcx
19872  DB  140,242                             ; mov           %?,%edx
19873  DB  66,81                               ; rex.X         push %rcx
19874  DB  140,242                             ; mov           %?,%edx
19875  DB  66,81                               ; rex.X         push %rcx
19876  DB  140,242                             ; mov           %?,%edx
19877  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
19878  DB  63                                  ; (bad)
19879  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
19880  DB  63                                  ; (bad)
19881  DB  248                                 ; clc
19882  DB  245                                 ; cmc
19883  DB  154                                 ; (bad)
19884  DB  64,248                              ; rex           clc
19885  DB  245                                 ; cmc
19886  DB  154                                 ; (bad)
19887  DB  64,248                              ; rex           clc
19888  DB  245                                 ; cmc
19889  DB  154                                 ; (bad)
19890  DB  64,248                              ; rex           clc
19891  DB  245                                 ; cmc
19892  DB  154                                 ; (bad)
19893  DB  64,254                              ; rex           (bad)
19894  DB  210,221                             ; rcr           %cl,%ch
19895  DB  65,254                              ; rex.B         (bad)
19896  DB  210,221                             ; rcr           %cl,%ch
19897  DB  65,254                              ; rex.B         (bad)
19898  DB  210,221                             ; rcr           %cl,%ch
19899  DB  65,254                              ; rex.B         (bad)
19900  DB  210,221                             ; rcr           %cl,%ch
19901  DB  65,0,0                              ; add           %al,(%r8)
19902  DB  0,75,0                              ; add           %cl,0x0(%rbx)
19903  DB  0,0                                 ; add           %al,(%rax)
19904  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
19905  DB  0,75,0                              ; add           %cl,0x0(%rbx)
19906  DB  0,0                                 ; add           %al,(%rax)
19907  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
19908  DB  0,52,0                              ; add           %dh,(%rax,%rax,1)
19909  DB  0,0                                 ; add           %al,(%rax)
19910  DB  52,0                                ; xor           $0x0,%al
19911  DB  0,0                                 ; add           %al,(%rax)
19912  DB  52,0                                ; xor           $0x0,%al
19913  DB  0,0                                 ; add           %al,(%rax)
19914  DB  52,255                              ; xor           $0xff,%al
19915  DB  255                                 ; (bad)
19916  DB  127,0                               ; jg            44b4 <.literal16+0x5e4>
19917  DB  255                                 ; (bad)
19918  DB  255                                 ; (bad)
19919  DB  127,0                               ; jg            44b8 <.literal16+0x5e8>
19920  DB  255                                 ; (bad)
19921  DB  255                                 ; (bad)
19922  DB  127,0                               ; jg            44bc <.literal16+0x5ec>
19923  DB  255                                 ; (bad)
19924  DB  255                                 ; (bad)
19925  DB  127,0                               ; jg            44c0 <.literal16+0x5f0>
19926  DB  0,0                                 ; add           %al,(%rax)
19927  DB  0,63                                ; add           %bh,(%rdi)
19928  DB  0,0                                 ; add           %al,(%rax)
19929  DB  0,63                                ; add           %bh,(%rdi)
19930  DB  0,0                                 ; add           %al,(%rax)
19931  DB  0,63                                ; add           %bh,(%rdi)
19932  DB  0,0                                 ; add           %al,(%rax)
19933  DB  0,63                                ; add           %bh,(%rdi)
19934  DB  119,115                             ; ja            4545 <.literal16+0x675>
19935  DB  248                                 ; clc
19936  DB  194,119,115                         ; retq          $0x7377
19937  DB  248                                 ; clc
19938  DB  194,119,115                         ; retq          $0x7377
19939  DB  248                                 ; clc
19940  DB  194,119,115                         ; retq          $0x7377
19941  DB  248                                 ; clc
19942  DB  194,117,191                         ; retq          $0xbf75
19943  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
19944  DB  63                                  ; (bad)
19945  DB  117,191                             ; jne           44a9 <.literal16+0x5d9>
19946  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
19947  DB  63                                  ; (bad)
19948  DB  249                                 ; stc
19949  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19950  DB  249                                 ; stc
19951  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19952  DB  249                                 ; stc
19953  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19954  DB  249                                 ; stc
19955  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
19956  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
19957  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a384ea <_sk_callback_sse2+0xffffffffe9a346cc>
19958  DB  220,63                              ; fdivrl        (%rdi)
19959  DB  0,0                                 ; add           %al,(%rax)
19960  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
19961  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
19962  DB  63                                  ; (bad)
19963  DB  0,0                                 ; add           %al,(%rax)
19964  DB  128,63,81                           ; cmpb          $0x51,(%rdi)
19965  DB  140,242                             ; mov           %?,%edx
19966  DB  66,81                               ; rex.X         push %rcx
19967  DB  140,242                             ; mov           %?,%edx
19968  DB  66,81                               ; rex.X         push %rcx
19969  DB  140,242                             ; mov           %?,%edx
19970  DB  66,81                               ; rex.X         push %rcx
19971  DB  140,242                             ; mov           %?,%edx
19972  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
19973  DB  63                                  ; (bad)
19974  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
19975  DB  63                                  ; (bad)
19976  DB  248                                 ; clc
19977  DB  245                                 ; cmc
19978  DB  154                                 ; (bad)
19979  DB  64,248                              ; rex           clc
19980  DB  245                                 ; cmc
19981  DB  154                                 ; (bad)
19982  DB  64,248                              ; rex           clc
19983  DB  245                                 ; cmc
19984  DB  154                                 ; (bad)
19985  DB  64,248                              ; rex           clc
19986  DB  245                                 ; cmc
19987  DB  154                                 ; (bad)
19988  DB  64,254                              ; rex           (bad)
19989  DB  210,221                             ; rcr           %cl,%ch
19990  DB  65,254                              ; rex.B         (bad)
19991  DB  210,221                             ; rcr           %cl,%ch
19992  DB  65,254                              ; rex.B         (bad)
19993  DB  210,221                             ; rcr           %cl,%ch
19994  DB  65,254                              ; rex.B         (bad)
19995  DB  210,221                             ; rcr           %cl,%ch
19996  DB  65,0,0                              ; add           %al,(%r8)
19997  DB  0,75,0                              ; add           %cl,0x0(%rbx)
19998  DB  0,0                                 ; add           %al,(%rax)
19999  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
20000  DB  0,75,0                              ; add           %cl,0x0(%rbx)
20001  DB  0,0                                 ; add           %al,(%rax)
20002  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
20003  DB  0,52,0                              ; add           %dh,(%rax,%rax,1)
20004  DB  0,0                                 ; add           %al,(%rax)
20005  DB  52,0                                ; xor           $0x0,%al
20006  DB  0,0                                 ; add           %al,(%rax)
20007  DB  52,0                                ; xor           $0x0,%al
20008  DB  0,0                                 ; add           %al,(%rax)
20009  DB  52,255                              ; xor           $0xff,%al
20010  DB  255                                 ; (bad)
20011  DB  127,0                               ; jg            4584 <.literal16+0x6b4>
20012  DB  255                                 ; (bad)
20013  DB  255                                 ; (bad)
20014  DB  127,0                               ; jg            4588 <.literal16+0x6b8>
20015  DB  255                                 ; (bad)
20016  DB  255                                 ; (bad)
20017  DB  127,0                               ; jg            458c <.literal16+0x6bc>
20018  DB  255                                 ; (bad)
20019  DB  255                                 ; (bad)
20020  DB  127,0                               ; jg            4590 <.literal16+0x6c0>
20021  DB  0,0                                 ; add           %al,(%rax)
20022  DB  0,63                                ; add           %bh,(%rdi)
20023  DB  0,0                                 ; add           %al,(%rax)
20024  DB  0,63                                ; add           %bh,(%rdi)
20025  DB  0,0                                 ; add           %al,(%rax)
20026  DB  0,63                                ; add           %bh,(%rdi)
20027  DB  0,0                                 ; add           %al,(%rax)
20028  DB  0,63                                ; add           %bh,(%rdi)
20029  DB  119,115                             ; ja            4615 <.literal16+0x745>
20030  DB  248                                 ; clc
20031  DB  194,119,115                         ; retq          $0x7377
20032  DB  248                                 ; clc
20033  DB  194,119,115                         ; retq          $0x7377
20034  DB  248                                 ; clc
20035  DB  194,119,115                         ; retq          $0x7377
20036  DB  248                                 ; clc
20037  DB  194,117,191                         ; retq          $0xbf75
20038  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
20039  DB  63                                  ; (bad)
20040  DB  117,191                             ; jne           4579 <.literal16+0x6a9>
20041  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
20042  DB  63                                  ; (bad)
20043  DB  249                                 ; stc
20044  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
20045  DB  249                                 ; stc
20046  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
20047  DB  249                                 ; stc
20048  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
20049  DB  249                                 ; stc
20050  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
20051  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
20052  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a385ba <_sk_callback_sse2+0xffffffffe9a3479c>
20053  DB  220,63                              ; fdivrl        (%rdi)
20054  DB  0,0                                 ; add           %al,(%rax)
20055  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20056  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20057  DB  63                                  ; (bad)
20058  DB  0,0                                 ; add           %al,(%rax)
20059  DB  128,63,81                           ; cmpb          $0x51,(%rdi)
20060  DB  140,242                             ; mov           %?,%edx
20061  DB  66,81                               ; rex.X         push %rcx
20062  DB  140,242                             ; mov           %?,%edx
20063  DB  66,81                               ; rex.X         push %rcx
20064  DB  140,242                             ; mov           %?,%edx
20065  DB  66,81                               ; rex.X         push %rcx
20066  DB  140,242                             ; mov           %?,%edx
20067  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
20068  DB  63                                  ; (bad)
20069  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
20070  DB  63                                  ; (bad)
20071  DB  248                                 ; clc
20072  DB  245                                 ; cmc
20073  DB  154                                 ; (bad)
20074  DB  64,248                              ; rex           clc
20075  DB  245                                 ; cmc
20076  DB  154                                 ; (bad)
20077  DB  64,248                              ; rex           clc
20078  DB  245                                 ; cmc
20079  DB  154                                 ; (bad)
20080  DB  64,248                              ; rex           clc
20081  DB  245                                 ; cmc
20082  DB  154                                 ; (bad)
20083  DB  64,254                              ; rex           (bad)
20084  DB  210,221                             ; rcr           %cl,%ch
20085  DB  65,254                              ; rex.B         (bad)
20086  DB  210,221                             ; rcr           %cl,%ch
20087  DB  65,254                              ; rex.B         (bad)
20088  DB  210,221                             ; rcr           %cl,%ch
20089  DB  65,254                              ; rex.B         (bad)
20090  DB  210,221                             ; rcr           %cl,%ch
20091  DB  65,0,0                              ; add           %al,(%r8)
20092  DB  0,75,0                              ; add           %cl,0x0(%rbx)
20093  DB  0,0                                 ; add           %al,(%rax)
20094  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
20095  DB  0,75,0                              ; add           %cl,0x0(%rbx)
20096  DB  0,0                                 ; add           %al,(%rax)
20097  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
20098  DB  200,66,0,0                          ; enterq        $0x42,$0x0
20099  DB  200,66,0,0                          ; enterq        $0x42,$0x0
20100  DB  200,66,0,0                          ; enterq        $0x42,$0x0
20101  DB  200,66,0,0                          ; enterq        $0x42,$0x0
20102  DB  127,67                              ; jg            4697 <.literal16+0x7c7>
20103  DB  0,0                                 ; add           %al,(%rax)
20104  DB  127,67                              ; jg            469b <.literal16+0x7cb>
20105  DB  0,0                                 ; add           %al,(%rax)
20106  DB  127,67                              ; jg            469f <.literal16+0x7cf>
20107  DB  0,0                                 ; add           %al,(%rax)
20108  DB  127,67                              ; jg            46a3 <.literal16+0x7d3>
20109  DB  0,0                                 ; add           %al,(%rax)
20110  DB  0,195                               ; add           %al,%bl
20111  DB  0,0                                 ; add           %al,(%rax)
20112  DB  0,195                               ; add           %al,%bl
20113  DB  0,0                                 ; add           %al,(%rax)
20114  DB  0,195                               ; add           %al,%bl
20115  DB  0,0                                 ; add           %al,(%rax)
20116  DB  0,195                               ; add           %al,%bl
20117  DB  0,0                                 ; add           %al,(%rax)
20118  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
20119  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
20120  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
20121  DB  128,65,203,61                       ; addb          $0x3d,-0x35(%rcx)
20122  DB  13,60,203,61,13                     ; or            $0xd3dcb3c,%eax
20123  DB  60,203                              ; cmp           $0xcb,%al
20124  DB  61,13,60,203,61                     ; cmp           $0x3dcb3c0d,%eax
20125  DB  13,60,111,18,3                      ; or            $0x3126f3c,%eax
20126  DB  59,111,18                           ; cmp           0x12(%rdi),%ebp
20127  DB  3,59                                ; add           (%rbx),%edi
20128  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
20129  DB  18,3                                ; adc           (%rbx),%al
20130  DB  59,111,18                           ; cmp           0x12(%rdi),%ebp
20131  DB  3,59                                ; add           (%rbx),%edi
20132  DB  10,215                              ; or            %bh,%dl
20133  DB  163,59,10,215,163,59,10,215,163     ; movabs        %eax,0xa3d70a3ba3d70a3b
20134  DB  59,10                               ; cmp           (%rdx),%ecx
20135  DB  215                                 ; xlat          %ds:(%rbx)
20136  DB  163,59,194,24,17,60,194,24,17       ; movabs        %eax,0x1118c23c1118c23b
20137  DB  60,194                              ; cmp           $0xc2,%al
20138  DB  24,17                               ; sbb           %dl,(%rcx)
20139  DB  60,194                              ; cmp           $0xc2,%al
20140  DB  24,17                               ; sbb           %dl,(%rcx)
20141  DB  60,203                              ; cmp           $0xcb,%al
20142  DB  61,13,190,203,61                    ; cmp           $0x3dcbbe0d,%eax
20143  DB  13,190,203,61,13                    ; or            $0xd3dcbbe,%eax
20144  DB  190,203,61,13,190                   ; mov           $0xbe0d3dcb,%esi
20145  DB  80                                  ; push          %rax
20146  DB  128,3,62                            ; addb          $0x3e,(%rbx)
20147  DB  80                                  ; push          %rax
20148  DB  128,3,62                            ; addb          $0x3e,(%rbx)
20149  DB  80                                  ; push          %rax
20150  DB  128,3,62                            ; addb          $0x3e,(%rbx)
20151  DB  80                                  ; push          %rax
20152  DB  128,3,62                            ; addb          $0x3e,(%rbx)
20153  DB  31                                  ; (bad)
20154  DB  215                                 ; xlat          %ds:(%rbx)
20155  DB  118,63                              ; jbe           4723 <.literal16+0x853>
20156  DB  31                                  ; (bad)
20157  DB  215                                 ; xlat          %ds:(%rbx)
20158  DB  118,63                              ; jbe           4727 <.literal16+0x857>
20159  DB  31                                  ; (bad)
20160  DB  215                                 ; xlat          %ds:(%rbx)
20161  DB  118,63                              ; jbe           472b <.literal16+0x85b>
20162  DB  31                                  ; (bad)
20163  DB  215                                 ; xlat          %ds:(%rbx)
20164  DB  118,63                              ; jbe           472f <.literal16+0x85f>
20165  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
20166  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
20167  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
20168  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
20169  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
20170  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
20171  DB  128,128,59,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
20172  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
20173  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
20174  DB  0,127,67                            ; add           %bh,0x43(%rdi)
20175  DB  0,0                                 ; add           %al,(%rax)
20176  DB  127,67                              ; jg            476b <.literal16+0x89b>
20177  DB  0,0                                 ; add           %al,(%rax)
20178  DB  127,67                              ; jg            476f <.literal16+0x89f>
20179  DB  0,0                                 ; add           %al,(%rax)
20180  DB  127,67                              ; jg            4773 <.literal16+0x8a3>
20181  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
20182  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
20183  DB  128,128,59,0,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
20184  DB  0,0                                 ; add           %al,(%rax)
20185  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20186  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20187  DB  63                                  ; (bad)
20188  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
20189  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
20190  DB  128,128,59,0,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
20191  DB  0,0                                 ; add           %al,(%rax)
20192  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20193  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20194  DB  63                                  ; (bad)
20195  DB  255,0                               ; incl          (%rax)
20196  DB  0,0                                 ; add           %al,(%rax)
20197  DB  255,0                               ; incl          (%rax)
20198  DB  0,0                                 ; add           %al,(%rax)
20199  DB  255,0                               ; incl          (%rax)
20200  DB  0,0                                 ; add           %al,(%rax)
20201  DB  255,0                               ; incl          (%rax)
20202  DB  0,0                                 ; add           %al,(%rax)
20203  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
20204  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
20205  DB  128,128,59,0,248,0,0                ; addb          $0x0,0xf8003b(%rax)
20206  DB  0,248                               ; add           %bh,%al
20207  DB  0,0                                 ; add           %al,(%rax)
20208  DB  0,248                               ; add           %bh,%al
20209  DB  0,0                                 ; add           %al,(%rax)
20210  DB  0,248                               ; add           %bh,%al
20211  DB  0,0                                 ; add           %al,(%rax)
20212  DB  8,33                                ; or            %ah,(%rcx)
20213  DB  132,55                              ; test          %dh,(%rdi)
20214  DB  8,33                                ; or            %ah,(%rcx)
20215  DB  132,55                              ; test          %dh,(%rdi)
20216  DB  8,33                                ; or            %ah,(%rcx)
20217  DB  132,55                              ; test          %dh,(%rdi)
20218  DB  8,33                                ; or            %ah,(%rcx)
20219  DB  132,55                              ; test          %dh,(%rdi)
20220  DB  224,7                               ; loopne        47b9 <.literal16+0x8e9>
20221  DB  0,0                                 ; add           %al,(%rax)
20222  DB  224,7                               ; loopne        47bd <.literal16+0x8ed>
20223  DB  0,0                                 ; add           %al,(%rax)
20224  DB  224,7                               ; loopne        47c1 <.literal16+0x8f1>
20225  DB  0,0                                 ; add           %al,(%rax)
20226  DB  224,7                               ; loopne        47c5 <.literal16+0x8f5>
20227  DB  0,0                                 ; add           %al,(%rax)
20228  DB  33,8                                ; and           %ecx,(%rax)
20229  DB  2,58                                ; add           (%rdx),%bh
20230  DB  33,8                                ; and           %ecx,(%rax)
20231  DB  2,58                                ; add           (%rdx),%bh
20232  DB  33,8                                ; and           %ecx,(%rax)
20233  DB  2,58                                ; add           (%rdx),%bh
20234  DB  33,8                                ; and           %ecx,(%rax)
20235  DB  2,58                                ; add           (%rdx),%bh
20236  DB  31                                  ; (bad)
20237  DB  0,0                                 ; add           %al,(%rax)
20238  DB  0,31                                ; add           %bl,(%rdi)
20239  DB  0,0                                 ; add           %al,(%rax)
20240  DB  0,31                                ; add           %bl,(%rdi)
20241  DB  0,0                                 ; add           %al,(%rax)
20242  DB  0,31                                ; add           %bl,(%rdi)
20243  DB  0,0                                 ; add           %al,(%rax)
20244  DB  0,8                                 ; add           %cl,(%rax)
20245  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%rdi,1)
20246  DB  8,33                                ; or            %ah,(%rcx)
20247  DB  4,61                                ; add           $0x3d,%al
20248  DB  8,33                                ; or            %ah,(%rcx)
20249  DB  4,61                                ; add           $0x3d,%al
20250  DB  0,0                                 ; add           %al,(%rax)
20251  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20252  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20253  DB  63                                  ; (bad)
20254  DB  0,0                                 ; add           %al,(%rax)
20255  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20256  DB  248                                 ; clc
20257  DB  0,0                                 ; add           %al,(%rax)
20258  DB  0,248                               ; add           %bh,%al
20259  DB  0,0                                 ; add           %al,(%rax)
20260  DB  0,248                               ; add           %bh,%al
20261  DB  0,0                                 ; add           %al,(%rax)
20262  DB  0,248                               ; add           %bh,%al
20263  DB  0,0                                 ; add           %al,(%rax)
20264  DB  8,33                                ; or            %ah,(%rcx)
20265  DB  132,55                              ; test          %dh,(%rdi)
20266  DB  8,33                                ; or            %ah,(%rcx)
20267  DB  132,55                              ; test          %dh,(%rdi)
20268  DB  8,33                                ; or            %ah,(%rcx)
20269  DB  132,55                              ; test          %dh,(%rdi)
20270  DB  8,33                                ; or            %ah,(%rcx)
20271  DB  132,55                              ; test          %dh,(%rdi)
20272  DB  224,7                               ; loopne        4829 <.literal16+0x959>
20273  DB  0,0                                 ; add           %al,(%rax)
20274  DB  224,7                               ; loopne        482d <.literal16+0x95d>
20275  DB  0,0                                 ; add           %al,(%rax)
20276  DB  224,7                               ; loopne        4831 <.literal16+0x961>
20277  DB  0,0                                 ; add           %al,(%rax)
20278  DB  224,7                               ; loopne        4835 <.literal16+0x965>
20279  DB  0,0                                 ; add           %al,(%rax)
20280  DB  33,8                                ; and           %ecx,(%rax)
20281  DB  2,58                                ; add           (%rdx),%bh
20282  DB  33,8                                ; and           %ecx,(%rax)
20283  DB  2,58                                ; add           (%rdx),%bh
20284  DB  33,8                                ; and           %ecx,(%rax)
20285  DB  2,58                                ; add           (%rdx),%bh
20286  DB  33,8                                ; and           %ecx,(%rax)
20287  DB  2,58                                ; add           (%rdx),%bh
20288  DB  31                                  ; (bad)
20289  DB  0,0                                 ; add           %al,(%rax)
20290  DB  0,31                                ; add           %bl,(%rdi)
20291  DB  0,0                                 ; add           %al,(%rax)
20292  DB  0,31                                ; add           %bl,(%rdi)
20293  DB  0,0                                 ; add           %al,(%rax)
20294  DB  0,31                                ; add           %bl,(%rdi)
20295  DB  0,0                                 ; add           %al,(%rax)
20296  DB  0,8                                 ; add           %cl,(%rax)
20297  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%rdi,1)
20298  DB  8,33                                ; or            %ah,(%rcx)
20299  DB  4,61                                ; add           $0x3d,%al
20300  DB  8,33                                ; or            %ah,(%rcx)
20301  DB  4,61                                ; add           $0x3d,%al
20302  DB  0,0                                 ; add           %al,(%rax)
20303  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20304  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20305  DB  63                                  ; (bad)
20306  DB  0,0                                 ; add           %al,(%rax)
20307  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20308  DB  0,248                               ; add           %bh,%al
20309  DB  65,0,0                              ; add           %al,(%r8)
20310  DB  248                                 ; clc
20311  DB  65,0,0                              ; add           %al,(%r8)
20312  DB  248                                 ; clc
20313  DB  65,0,0                              ; add           %al,(%r8)
20314  DB  248                                 ; clc
20315  DB  65,0,0                              ; add           %al,(%r8)
20316  DB  124,66                              ; jl            48c6 <.literal16+0x9f6>
20317  DB  0,0                                 ; add           %al,(%rax)
20318  DB  124,66                              ; jl            48ca <.literal16+0x9fa>
20319  DB  0,0                                 ; add           %al,(%rax)
20320  DB  124,66                              ; jl            48ce <.literal16+0x9fe>
20321  DB  0,0                                 ; add           %al,(%rax)
20322  DB  124,66                              ; jl            48d2 <.literal16+0xa02>
20323  DB  0,240                               ; add           %dh,%al
20324  DB  0,0                                 ; add           %al,(%rax)
20325  DB  0,240                               ; add           %dh,%al
20326  DB  0,0                                 ; add           %al,(%rax)
20327  DB  0,240                               ; add           %dh,%al
20328  DB  0,0                                 ; add           %al,(%rax)
20329  DB  0,240                               ; add           %dh,%al
20330  DB  0,0                                 ; add           %al,(%rax)
20331  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
20332  DB  136,55                              ; mov           %dh,(%rdi)
20333  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
20334  DB  136,55                              ; mov           %dh,(%rdi)
20335  DB  0,15                                ; add           %cl,(%rdi)
20336  DB  0,0                                 ; add           %al,(%rax)
20337  DB  0,15                                ; add           %cl,(%rdi)
20338  DB  0,0                                 ; add           %al,(%rax)
20339  DB  0,15                                ; add           %cl,(%rdi)
20340  DB  0,0                                 ; add           %al,(%rax)
20341  DB  0,15                                ; add           %cl,(%rdi)
20342  DB  0,0                                 ; add           %al,(%rax)
20343  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
20344  DB  136,57                              ; mov           %bh,(%rcx)
20345  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
20346  DB  136,57                              ; mov           %bh,(%rcx)
20347  DB  240,0,0                             ; lock          add %al,(%rax)
20348  DB  0,240                               ; add           %dh,%al
20349  DB  0,0                                 ; add           %al,(%rax)
20350  DB  0,240                               ; add           %dh,%al
20351  DB  0,0                                 ; add           %al,(%rax)
20352  DB  0,240                               ; add           %dh,%al
20353  DB  0,0                                 ; add           %al,(%rax)
20354  DB  0,137,136,136,59,137                ; add           %cl,-0x76c47778(%rcx)
20355  DB  136,136,59,137,136,136              ; mov           %cl,-0x777776c5(%rax)
20356  DB  59,137,136,136,59,15                ; cmp           0xf3b8888(%rcx),%ecx
20357  DB  0,0                                 ; add           %al,(%rax)
20358  DB  0,15                                ; add           %cl,(%rdi)
20359  DB  0,0                                 ; add           %al,(%rax)
20360  DB  0,15                                ; add           %cl,(%rdi)
20361  DB  0,0                                 ; add           %al,(%rax)
20362  DB  0,15                                ; add           %cl,(%rdi)
20363  DB  0,0                                 ; add           %al,(%rax)
20364  DB  0,137,136,136,61,137                ; add           %cl,-0x76c27778(%rcx)
20365  DB  136,136,61,137,136,136              ; mov           %cl,-0x777776c3(%rax)
20366  DB  61,137,136,136,61                   ; cmp           $0x3d888889,%eax
20367  DB  0,240                               ; add           %dh,%al
20368  DB  0,0                                 ; add           %al,(%rax)
20369  DB  0,240                               ; add           %dh,%al
20370  DB  0,0                                 ; add           %al,(%rax)
20371  DB  0,240                               ; add           %dh,%al
20372  DB  0,0                                 ; add           %al,(%rax)
20373  DB  0,240                               ; add           %dh,%al
20374  DB  0,0                                 ; add           %al,(%rax)
20375  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
20376  DB  136,55                              ; mov           %dh,(%rdi)
20377  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
20378  DB  136,55                              ; mov           %dh,(%rdi)
20379  DB  0,15                                ; add           %cl,(%rdi)
20380  DB  0,0                                 ; add           %al,(%rax)
20381  DB  0,15                                ; add           %cl,(%rdi)
20382  DB  0,0                                 ; add           %al,(%rax)
20383  DB  0,15                                ; add           %cl,(%rdi)
20384  DB  0,0                                 ; add           %al,(%rax)
20385  DB  0,15                                ; add           %cl,(%rdi)
20386  DB  0,0                                 ; add           %al,(%rax)
20387  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
20388  DB  136,57                              ; mov           %bh,(%rcx)
20389  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
20390  DB  136,57                              ; mov           %bh,(%rcx)
20391  DB  240,0,0                             ; lock          add %al,(%rax)
20392  DB  0,240                               ; add           %dh,%al
20393  DB  0,0                                 ; add           %al,(%rax)
20394  DB  0,240                               ; add           %dh,%al
20395  DB  0,0                                 ; add           %al,(%rax)
20396  DB  0,240                               ; add           %dh,%al
20397  DB  0,0                                 ; add           %al,(%rax)
20398  DB  0,137,136,136,59,137                ; add           %cl,-0x76c47778(%rcx)
20399  DB  136,136,59,137,136,136              ; mov           %cl,-0x777776c5(%rax)
20400  DB  59,137,136,136,59,15                ; cmp           0xf3b8888(%rcx),%ecx
20401  DB  0,0                                 ; add           %al,(%rax)
20402  DB  0,15                                ; add           %cl,(%rdi)
20403  DB  0,0                                 ; add           %al,(%rax)
20404  DB  0,15                                ; add           %cl,(%rdi)
20405  DB  0,0                                 ; add           %al,(%rax)
20406  DB  0,15                                ; add           %cl,(%rdi)
20407  DB  0,0                                 ; add           %al,(%rax)
20408  DB  0,137,136,136,61,137                ; add           %cl,-0x76c27778(%rcx)
20409  DB  136,136,61,137,136,136              ; mov           %cl,-0x777776c3(%rax)
20410  DB  61,137,136,136,61                   ; cmp           $0x3d888889,%eax
20411  DB  0,0                                 ; add           %al,(%rax)
20412  DB  112,65                              ; jo            49d5 <.literal16+0xb05>
20413  DB  0,0                                 ; add           %al,(%rax)
20414  DB  112,65                              ; jo            49d9 <.literal16+0xb09>
20415  DB  0,0                                 ; add           %al,(%rax)
20416  DB  112,65                              ; jo            49dd <.literal16+0xb0d>
20417  DB  0,0                                 ; add           %al,(%rax)
20418  DB  112,65                              ; jo            49e1 <.literal16+0xb11>
20419  DB  255,0                               ; incl          (%rax)
20420  DB  0,0                                 ; add           %al,(%rax)
20421  DB  255,0                               ; incl          (%rax)
20422  DB  0,0                                 ; add           %al,(%rax)
20423  DB  255,0                               ; incl          (%rax)
20424  DB  0,0                                 ; add           %al,(%rax)
20425  DB  255,0                               ; incl          (%rax)
20426  DB  0,0                                 ; add           %al,(%rax)
20427  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
20428  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
20429  DB  128,128,59,255,0,0,0                ; addb          $0x0,0xff3b(%rax)
20430  DB  255,0                               ; incl          (%rax)
20431  DB  0,0                                 ; add           %al,(%rax)
20432  DB  255,0                               ; incl          (%rax)
20433  DB  0,0                                 ; add           %al,(%rax)
20434  DB  255,0                               ; incl          (%rax)
20435  DB  0,0                                 ; add           %al,(%rax)
20436  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
20437  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
20438  DB  128,128,59,0,0,127,67               ; addb          $0x43,0x7f00003b(%rax)
20439  DB  0,0                                 ; add           %al,(%rax)
20440  DB  127,67                              ; jg            4a2b <.literal16+0xb5b>
20441  DB  0,0                                 ; add           %al,(%rax)
20442  DB  127,67                              ; jg            4a2f <.literal16+0xb5f>
20443  DB  0,0                                 ; add           %al,(%rax)
20444  DB  127,67                              ; jg            4a33 <.literal16+0xb63>
20445  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20446  DB  0,0                                 ; add           %al,(%rax)
20447  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20448  DB  0,0                                 ; add           %al,(%rax)
20449  DB  0,0                                 ; add           %al,(%rax)
20450  DB  0,56                                ; add           %bh,(%rax)
20451  DB  0,0                                 ; add           %al,(%rax)
20452  DB  0,56                                ; add           %bh,(%rax)
20453  DB  0,0                                 ; add           %al,(%rax)
20454  DB  0,56                                ; add           %bh,(%rax)
20455  DB  0,0                                 ; add           %al,(%rax)
20456  DB  0,56                                ; add           %bh,(%rax)
20457  DB  0,0                                 ; add           %al,(%rax)
20458  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20459  DB  0,0                                 ; add           %al,(%rax)
20460  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20461  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
20462  DB  128,0,4                             ; addb          $0x4,(%rax)
20463  DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
20464  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
20465  DB  128,0,128                           ; addb          $0x80,(%rax)
20466  DB  0,0                                 ; add           %al,(%rax)
20467  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20468  DB  0,0                                 ; add           %al,(%rax)
20469  DB  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
20470  DB  0,56                                ; add           %bh,(%rax)
20471  DB  0,0                                 ; add           %al,(%rax)
20472  DB  0,56                                ; add           %bh,(%rax)
20473  DB  0,0                                 ; add           %al,(%rax)
20474  DB  0,56                                ; add           %bh,(%rax)
20475  DB  0,0                                 ; add           %al,(%rax)
20476  DB  0,56                                ; add           %bh,(%rax)
20477  DB  0,0                                 ; add           %al,(%rax)
20478  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20479  DB  0,0                                 ; add           %al,(%rax)
20480  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20481  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
20482  DB  128,0,4                             ; addb          $0x4,(%rax)
20483  DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
20484  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
20485  DB  128,0,0                             ; addb          $0x0,(%rax)
20486  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20487  DB  0,0                                 ; add           %al,(%rax)
20488  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
20489  DB  0,0                                 ; add           %al,(%rax)
20490  DB  128,56,0                            ; cmpb          $0x0,(%rax)
20491  DB  0,128,56,0,0,128                    ; add           %al,-0x7fffffc8(%rax)
20492  DB  56,0                                ; cmp           %al,(%rax)
20493  DB  0,128,56,0,64,254                   ; add           %al,-0x1bfffc8(%rax)
20494  DB  255,0                               ; incl          (%rax)
20495  DB  64,254                              ; rex           (bad)
20496  DB  255,0                               ; incl          (%rax)
20497  DB  64,254                              ; rex           (bad)
20498  DB  255,0                               ; incl          (%rax)
20499  DB  64,254                              ; rex           (bad)
20500  DB  255,128,0,128,55,128                ; incl          -0x7fc88000(%rax)
20501  DB  0,128,55,128,0,128                  ; add           %al,-0x7fff7fc9(%rax)
20502  DB  55                                  ; (bad)
20503  DB  128,0,128                           ; addb          $0x80,(%rax)
20504  DB  55                                  ; (bad)
20505  DB  128,0,128                           ; addb          $0x80,(%rax)
20506  DB  55                                  ; (bad)
20507  DB  128,0,128                           ; addb          $0x80,(%rax)
20508  DB  55                                  ; (bad)
20509  DB  128,0,128                           ; addb          $0x80,(%rax)
20510  DB  55                                  ; (bad)
20511  DB  128,0,128                           ; addb          $0x80,(%rax)
20512  DB  55                                  ; (bad)
20513  DB  0,0                                 ; add           %al,(%rax)
20514  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20515  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20516  DB  63                                  ; (bad)
20517  DB  0,0                                 ; add           %al,(%rax)
20518  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20519  DB  255                                 ; (bad)
20520  DB  127,71                              ; jg            4b1b <.literal16+0xc4b>
20521  DB  0,255                               ; add           %bh,%bh
20522  DB  127,71                              ; jg            4b1f <.literal16+0xc4f>
20523  DB  0,255                               ; add           %bh,%bh
20524  DB  127,71                              ; jg            4b23 <.literal16+0xc53>
20525  DB  0,255                               ; add           %bh,%bh
20526  DB  127,71                              ; jg            4b27 <.literal16+0xc57>
20527  DB  0,0                                 ; add           %al,(%rax)
20528  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20529  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20530  DB  63                                  ; (bad)
20531  DB  0,0                                 ; add           %al,(%rax)
20532  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20533  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20534  DB  63                                  ; (bad)
20535  DB  0,0                                 ; add           %al,(%rax)
20536  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20537  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20538  DB  63                                  ; (bad)
20539  DB  0,0                                 ; add           %al,(%rax)
20540  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20541  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20542  DB  63                                  ; (bad)
20543  DB  0,0                                 ; add           %al,(%rax)
20544  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20545  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20546  DB  63                                  ; (bad)
20547  DB  0,0                                 ; add           %al,(%rax)
20548  DB  128,63,208                          ; cmpb          $0xd0,(%rdi)
20549  DB  179,89                              ; mov           $0x59,%bl
20550  DB  62,208                              ; ds            (bad)
20551  DB  179,89                              ; mov           $0x59,%bl
20552  DB  62,208                              ; ds            (bad)
20553  DB  179,89                              ; mov           $0x59,%bl
20554  DB  62,208                              ; ds            (bad)
20555  DB  179,89                              ; mov           $0x59,%bl
20556  DB  62,89                               ; ds            pop %rcx
20557  DB  23                                  ; (bad)
20558  DB  55                                  ; (bad)
20559  DB  63                                  ; (bad)
20560  DB  89                                  ; pop           %rcx
20561  DB  23                                  ; (bad)
20562  DB  55                                  ; (bad)
20563  DB  63                                  ; (bad)
20564  DB  89                                  ; pop           %rcx
20565  DB  23                                  ; (bad)
20566  DB  55                                  ; (bad)
20567  DB  63                                  ; (bad)
20568  DB  89                                  ; pop           %rcx
20569  DB  23                                  ; (bad)
20570  DB  55                                  ; (bad)
20571  DB  63                                  ; (bad)
20572  DB  152                                 ; cwtl
20573  DB  221,147,61,152,221,147              ; fstl          -0x6c2267c3(%rbx)
20574  DB  61,152,221,147,61                   ; cmp           $0x3d93dd98,%eax
20575  DB  152                                 ; cwtl
20576  DB  221,147,61,111,43,231               ; fstl          -0x18d490c3(%rbx)
20577  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
20578  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
20579  DB  43,231                              ; sub           %edi,%esp
20580  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
20581  DB  159                                 ; lahf
20582  DB  215                                 ; xlat          %ds:(%rbx)
20583  DB  202,60,159                          ; lret          $0x9f3c
20584  DB  215                                 ; xlat          %ds:(%rbx)
20585  DB  202,60,159                          ; lret          $0x9f3c
20586  DB  215                                 ; xlat          %ds:(%rbx)
20587  DB  202,60,159                          ; lret          $0x9f3c
20588  DB  215                                 ; xlat          %ds:(%rbx)
20589  DB  202,60,212                          ; lret          $0xd43c
20590  DB  100,84                              ; fs            push %rsp
20591  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
20592  DB  212                                 ; (bad)
20593  DB  100,84                              ; fs            push %rsp
20594  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
20595  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
20596  DB  240,34,62                           ; lock          and (%rsi),%bh
20597  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
20598  DB  240,34,62                           ; lock          and (%rsi),%bh
20599  DB  0,0                                 ; add           %al,(%rax)
20600  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
20601  DB  0,128,62,0,0,128                    ; add           %al,-0x7fffffc2(%rax)
20602  DB  62,0,0                              ; add           %al,%ds:(%rax)
20603  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
20604  DB  0,0                                 ; add           %al,(%rax)
20605  DB  63                                  ; (bad)
20606  DB  0,0                                 ; add           %al,(%rax)
20607  DB  0,63                                ; add           %bh,(%rdi)
20608  DB  0,0                                 ; add           %al,(%rax)
20609  DB  0,63                                ; add           %bh,(%rdi)
20610  DB  0,0                                 ; add           %al,(%rax)
20611  DB  0,63                                ; add           %bh,(%rdi)
20612  DB  0,0                                 ; add           %al,(%rax)
20613  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20614  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20615  DB  63                                  ; (bad)
20616  DB  0,0                                 ; add           %al,(%rax)
20617  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20618  DB  0,0                                 ; add           %al,(%rax)
20619  DB  63                                  ; (bad)
20620  DB  0,0                                 ; add           %al,(%rax)
20621  DB  0,63                                ; add           %bh,(%rdi)
20622  DB  0,0                                 ; add           %al,(%rax)
20623  DB  0,63                                ; add           %bh,(%rdi)
20624  DB  0,0                                 ; add           %al,(%rax)
20625  DB  0,63                                ; add           %bh,(%rdi)
20626  DB  0,0                                 ; add           %al,(%rax)
20627  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20628  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20629  DB  63                                  ; (bad)
20630  DB  0,0                                 ; add           %al,(%rax)
20631  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20632  DB  0,0                                 ; add           %al,(%rax)
20633  DB  191,0,0,0,191                       ; mov           $0xbf000000,%edi
20634  DB  0,0                                 ; add           %al,(%rax)
20635  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
20636  DB  0,0                                 ; add           %al,(%rax)
20637  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20638  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20639  DB  63                                  ; (bad)
20640  DB  0,0                                 ; add           %al,(%rax)
20641  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20642  DB  0,0                                 ; add           %al,(%rax)
20643  DB  63                                  ; (bad)
20644  DB  0,0                                 ; add           %al,(%rax)
20645  DB  0,63                                ; add           %bh,(%rdi)
20646  DB  0,0                                 ; add           %al,(%rax)
20647  DB  0,63                                ; add           %bh,(%rdi)
20648  DB  0,0                                 ; add           %al,(%rax)
20649  DB  0,63                                ; add           %bh,(%rdi)
20650  DB  0,0                                 ; add           %al,(%rax)
20651  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
20652  DB  0,0                                 ; add           %al,(%rax)
20653  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
20654  DB  0,0                                 ; add           %al,(%rax)
20655  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20656  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20657  DB  63                                  ; (bad)
20658  DB  0,0                                 ; add           %al,(%rax)
20659  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20660  DB  0,0                                 ; add           %al,(%rax)
20661  DB  63                                  ; (bad)
20662  DB  0,0                                 ; add           %al,(%rax)
20663  DB  0,63                                ; add           %bh,(%rdi)
20664  DB  0,0                                 ; add           %al,(%rax)
20665  DB  0,63                                ; add           %bh,(%rdi)
20666  DB  0,0                                 ; add           %al,(%rax)
20667  DB  0,63                                ; add           %bh,(%rdi)
20668  DB  0,0                                 ; add           %al,(%rax)
20669  DB  192,191,0,0,192,191,0               ; sarb          $0x0,-0x40400000(%rdi)
20670  DB  0,192                               ; add           %al,%al
20671  DB  191,0,0,192,191                     ; mov           $0xbfc00000,%edi
20672  DB  0,0                                 ; add           %al,(%rax)
20673  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20674  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20675  DB  63                                  ; (bad)
20676  DB  0,0                                 ; add           %al,(%rax)
20677  DB  128,63,114                          ; cmpb          $0x72,(%rdi)
20678  DB  28,199                              ; sbb           $0xc7,%al
20679  DB  62,114,28                           ; jb,pt         4c82 <.literal16+0xdb2>
20680  DB  199                                 ; (bad)
20681  DB  62,114,28                           ; jb,pt         4c86 <.literal16+0xdb6>
20682  DB  199                                 ; (bad)
20683  DB  62,114,28                           ; jb,pt         4c8a <.literal16+0xdba>
20684  DB  199                                 ; (bad)
20685  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
20686  DB  170                                 ; stos          %al,%es:(%rdi)
20687  DB  170                                 ; stos          %al,%es:(%rdi)
20688  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20689  DB  171                                 ; stos          %eax,%es:(%rdi)
20690  DB  170                                 ; stos          %al,%es:(%rdi)
20691  DB  170                                 ; stos          %al,%es:(%rdi)
20692  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20693  DB  0,0                                 ; add           %al,(%rax)
20694  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
20695  DB  0,0                                 ; add           %al,(%rax)
20696  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
20697  DB  0,0                                 ; add           %al,(%rax)
20698  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20699  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20700  DB  63                                  ; (bad)
20701  DB  0,0                                 ; add           %al,(%rax)
20702  DB  128,63,85                           ; cmpb          $0x55,(%rdi)
20703  DB  85                                  ; push          %rbp
20704  DB  149                                 ; xchg          %eax,%ebp
20705  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20706  DB  85                                  ; push          %rbp
20707  DB  85                                  ; push          %rbp
20708  DB  149                                 ; xchg          %eax,%ebp
20709  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20710  DB  0,0                                 ; add           %al,(%rax)
20711  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20712  DB  0,192                               ; add           %al,%al
20713  DB  63                                  ; (bad)
20714  DB  0,0                                 ; add           %al,(%rax)
20715  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20716  DB  0,192                               ; add           %al,%al
20717  DB  63                                  ; (bad)
20718  DB  0,0                                 ; add           %al,(%rax)
20719  DB  0,63                                ; add           %bh,(%rdi)
20720  DB  0,0                                 ; add           %al,(%rax)
20721  DB  0,63                                ; add           %bh,(%rdi)
20722  DB  0,0                                 ; add           %al,(%rax)
20723  DB  0,63                                ; add           %bh,(%rdi)
20724  DB  0,0                                 ; add           %al,(%rax)
20725  DB  0,63                                ; add           %bh,(%rdi)
20726  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
20727  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63db15 <_sk_callback_sse2+0x3d639cf7>
20728  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
20729  DB  0,63                                ; add           %bh,(%rdi)
20730  DB  0,0                                 ; add           %al,(%rax)
20731  DB  0,63                                ; add           %bh,(%rdi)
20732  DB  0,0                                 ; add           %al,(%rax)
20733  DB  0,63                                ; add           %bh,(%rdi)
20734  DB  0,0                                 ; add           %al,(%rax)
20735  DB  0,63                                ; add           %bh,(%rdi)
20736  DB  85                                  ; push          %rbp
20737  DB  85                                  ; push          %rbp
20738  DB  149                                 ; xchg          %eax,%ebp
20739  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20740  DB  85                                  ; push          %rbp
20741  DB  85                                  ; push          %rbp
20742  DB  149                                 ; xchg          %eax,%ebp
20743  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20744  DB  0,0                                 ; add           %al,(%rax)
20745  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20746  DB  0,192                               ; add           %al,%al
20747  DB  63                                  ; (bad)
20748  DB  0,0                                 ; add           %al,(%rax)
20749  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20750  DB  0,192                               ; add           %al,%al
20751  DB  63                                  ; (bad)
20752  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
20753  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63db55 <_sk_callback_sse2+0x3d639d37>
20754  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
20755  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20756  DB  0,192                               ; add           %al,%al
20757  DB  63                                  ; (bad)
20758  DB  0,0                                 ; add           %al,(%rax)
20759  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20760  DB  0,192                               ; add           %al,%al
20761  DB  63                                  ; (bad)
20762  DB  114,28                              ; jb            4d4e <.literal16+0xe7e>
20763  DB  199                                 ; (bad)
20764  DB  62,114,28                           ; jb,pt         4d52 <.literal16+0xe82>
20765  DB  199                                 ; (bad)
20766  DB  62,114,28                           ; jb,pt         4d56 <.literal16+0xe86>
20767  DB  199                                 ; (bad)
20768  DB  62,114,28                           ; jb,pt         4d5a <.literal16+0xe8a>
20769  DB  199                                 ; (bad)
20770  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
20771  DB  170                                 ; stos          %al,%es:(%rdi)
20772  DB  170                                 ; stos          %al,%es:(%rdi)
20773  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20774  DB  171                                 ; stos          %eax,%es:(%rdi)
20775  DB  170                                 ; stos          %al,%es:(%rdi)
20776  DB  170                                 ; stos          %al,%es:(%rdi)
20777  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20778  DB  0,0                                 ; add           %al,(%rax)
20779  DB  192,191,0,0,192,191,0               ; sarb          $0x0,-0x40400000(%rdi)
20780  DB  0,192                               ; add           %al,%al
20781  DB  191,0,0,192,191                     ; mov           $0xbfc00000,%edi
20782  DB  0,0                                 ; add           %al,(%rax)
20783  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20784  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20785  DB  63                                  ; (bad)
20786  DB  0,0                                 ; add           %al,(%rax)
20787  DB  128,63,114                          ; cmpb          $0x72,(%rdi)
20788  DB  28,199                              ; sbb           $0xc7,%al
20789  DB  62,114,28                           ; jb,pt         4d92 <.literal16+0xec2>
20790  DB  199                                 ; (bad)
20791  DB  62,114,28                           ; jb,pt         4d96 <.literal16+0xec6>
20792  DB  199                                 ; (bad)
20793  DB  62,114,28                           ; jb,pt         4d9a <.literal16+0xeca>
20794  DB  199                                 ; (bad)
20795  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
20796  DB  170                                 ; stos          %al,%es:(%rdi)
20797  DB  170                                 ; stos          %al,%es:(%rdi)
20798  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20799  DB  171                                 ; stos          %eax,%es:(%rdi)
20800  DB  170                                 ; stos          %al,%es:(%rdi)
20801  DB  170                                 ; stos          %al,%es:(%rdi)
20802  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20803  DB  0,0                                 ; add           %al,(%rax)
20804  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
20805  DB  0,0                                 ; add           %al,(%rax)
20806  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
20807  DB  0,0                                 ; add           %al,(%rax)
20808  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
20809  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
20810  DB  63                                  ; (bad)
20811  DB  0,0                                 ; add           %al,(%rax)
20812  DB  128,63,85                           ; cmpb          $0x55,(%rdi)
20813  DB  85                                  ; push          %rbp
20814  DB  149                                 ; xchg          %eax,%ebp
20815  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20816  DB  85                                  ; push          %rbp
20817  DB  85                                  ; push          %rbp
20818  DB  149                                 ; xchg          %eax,%ebp
20819  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20820  DB  0,0                                 ; add           %al,(%rax)
20821  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20822  DB  0,192                               ; add           %al,%al
20823  DB  63                                  ; (bad)
20824  DB  0,0                                 ; add           %al,(%rax)
20825  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20826  DB  0,192                               ; add           %al,%al
20827  DB  63                                  ; (bad)
20828  DB  0,0                                 ; add           %al,(%rax)
20829  DB  0,63                                ; add           %bh,(%rdi)
20830  DB  0,0                                 ; add           %al,(%rax)
20831  DB  0,63                                ; add           %bh,(%rdi)
20832  DB  0,0                                 ; add           %al,(%rax)
20833  DB  0,63                                ; add           %bh,(%rdi)
20834  DB  0,0                                 ; add           %al,(%rax)
20835  DB  0,63                                ; add           %bh,(%rdi)
20836  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
20837  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63dc25 <_sk_callback_sse2+0x3d639e07>
20838  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
20839  DB  0,63                                ; add           %bh,(%rdi)
20840  DB  0,0                                 ; add           %al,(%rax)
20841  DB  0,63                                ; add           %bh,(%rdi)
20842  DB  0,0                                 ; add           %al,(%rax)
20843  DB  0,63                                ; add           %bh,(%rdi)
20844  DB  0,0                                 ; add           %al,(%rax)
20845  DB  0,63                                ; add           %bh,(%rdi)
20846  DB  85                                  ; push          %rbp
20847  DB  85                                  ; push          %rbp
20848  DB  149                                 ; xchg          %eax,%ebp
20849  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20850  DB  85                                  ; push          %rbp
20851  DB  85                                  ; push          %rbp
20852  DB  149                                 ; xchg          %eax,%ebp
20853  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
20854  DB  0,0                                 ; add           %al,(%rax)
20855  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20856  DB  0,192                               ; add           %al,%al
20857  DB  63                                  ; (bad)
20858  DB  0,0                                 ; add           %al,(%rax)
20859  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20860  DB  0,192                               ; add           %al,%al
20861  DB  63                                  ; (bad)
20862  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
20863  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63dc65 <_sk_callback_sse2+0x3d639e47>
20864  DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
20865  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20866  DB  0,192                               ; add           %al,%al
20867  DB  63                                  ; (bad)
20868  DB  0,0                                 ; add           %al,(%rax)
20869  DB  192,63,0                            ; sarb          $0x0,(%rdi)
20870  DB  0,192                               ; add           %al,%al
20871  DB  63                                  ; (bad)
20872  DB  114,28                              ; jb            4e5e <.literal16+0xf8e>
20873  DB  199                                 ; (bad)
20874  DB  62,114,28                           ; jb,pt         4e62 <_sk_callback_sse2+0x1044>
20875  DB  199                                 ; (bad)
20876  DB  62,114,28                           ; jb,pt         4e66 <_sk_callback_sse2+0x1048>
20877  DB  199                                 ; (bad)
20878  DB  62,114,28                           ; jb,pt         4e6a <_sk_callback_sse2+0x104c>
20879  DB  199                                 ; (bad)
20880  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
20881  DB  170                                 ; stos          %al,%es:(%rdi)
20882  DB  170                                 ; stos          %al,%es:(%rdi)
20883  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20884  DB  171                                 ; stos          %eax,%es:(%rdi)
20885  DB  170                                 ; stos          %al,%es:(%rdi)
20886  DB  170                                 ; stos          %al,%es:(%rdi)
20887  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
20888ENDIF
20889END
20890