Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(220)

Side by Side Diff: third_party/libjpeg_turbo/google.patch

Issue 7554002: Updates libjpeg-turbo to 1.1.90 (r677) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/libjpeg_turbo/example.c ('k') | third_party/libjpeg_turbo/jaricom.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Index: jmorecfg.h 1 Index: jdmarker.c
2 =================================================================== 2 ===================================================================
3 --- jmorecfg.h» (revision 64575) 3 --- jdmarker.c» (revision 677)
4 +++ jmorecfg.h» (working copy) 4 +++ jdmarker.c» (working copy)
5 @@ -159,8 +159,10 @@ 5 @@ -940,7 +940,144 @@
6 /* INT32 must hold at least signed 32-bit values. */ 6 return TRUE;
7 }
7 8
8 #ifndef XMD_H» » » /* X11/xmd.h correctly defines INT32 */ 9 +#ifdef MOTION_JPEG_SUPPORTED
9 +#ifndef _BASETSD_H_» » /* basetsd.h correctly defines INT32 */
10 typedef long INT32;
11 #endif
12 +#endif
13 10
14 /* Datatype used for image dimensions. The JPEG standard only supports 11 +/* The default Huffman tables used by motion JPEG frames. When a motion JPEG
15 * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore 12 + * frame does not have DHT tables, we should use the huffman tables suggested b y
16 @@ -210,11 +212,13 @@ 13 + * the JPEG standard. Each of these tables represents a member of the JHUFF_TBL S
17 * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. 14 + * struct so we can just copy it to the according JHUFF_TBLS member.
18 */ 15 + */
16 +/* DC table 0 */
17 +LOCAL(const unsigned char) mjpg_dc0_bits[] = {
18 + 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01,
19 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
20 +};
21 +
22 +LOCAL(const unsigned char) mjpg_dc0_huffval[] = {
23 + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
24 + 0x08, 0x09, 0x0A, 0x0B
25 +};
26 +
27 +/* DC table 1 */
28 +LOCAL(const unsigned char) mjpg_dc1_bits[] = {
29 + 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
30 + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
31 +};
32 +
33 +LOCAL(const unsigned char) mjpg_dc1_huffval[] = {
34 + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
35 + 0x08, 0x09, 0x0A, 0x0B
36 +};
37 +
38 +/* AC table 0 */
39 +LOCAL(const unsigned char) mjpg_ac0_bits[] = {
40 + 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03,
41 + 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7D
42 +};
43 +
44 +LOCAL(const unsigned char) mjpg_ac0_huffval[] = {
45 + 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
46 + 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
47 + 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08,
48 + 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0,
49 + 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16,
50 + 0x17, 0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28,
51 + 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
52 + 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
53 + 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
54 + 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
55 + 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
56 + 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
57 + 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
58 + 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
59 + 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6,
60 + 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5,
61 + 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4,
62 + 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2,
63 + 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA,
64 + 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8,
65 + 0xF9, 0xFA
66 +};
67 +
68 +/* AC table 1 */
69 +LOCAL(const unsigned char) mjpg_ac1_bits[] = {
70 + 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04,
71 + 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77
72 +};
73 +
74 +LOCAL(const unsigned char) mjpg_ac1_huffval[] = {
75 + 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
76 + 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
77 + 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
78 + 0xA1, 0xB1, 0xC1, 0x09, 0x23, 0x33, 0x52, 0xF0,
79 + 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34,
80 + 0xE1, 0x25, 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26,
81 + 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38,
82 + 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
83 + 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
84 + 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
85 + 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
86 + 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
87 + 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96,
88 + 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5,
89 + 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4,
90 + 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3,
91 + 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2,
92 + 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA,
93 + 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9,
94 + 0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8,
95 + 0xF9, 0xFA
96 +};
97 +
98 +/* Loads the default Huffman tables used by motion JPEG frames. This function
99 + * just copies the huffman tables suggested in the JPEG standard when we have
100 + * not load them.
101 + */
102 +LOCAL(void)
103 +mjpg_load_huff_tables (j_decompress_ptr cinfo)
104 +{
105 + JHUFF_TBL *htblptr;
106 +
107 + if (! cinfo->dc_huff_tbl_ptrs[0]) {
108 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo);
109 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL));
110 + MEMCOPY(&htblptr->bits[1], mjpg_dc0_bits, SIZEOF(mjpg_dc0_bits));
111 + MEMCOPY(&htblptr->huffval[0], mjpg_dc0_huffval, SIZEOF(mjpg_dc0_huffval));
112 + cinfo->dc_huff_tbl_ptrs[0] = htblptr;
113 + }
114 +
115 + if (! cinfo->dc_huff_tbl_ptrs[1]) {
116 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo);
117 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL));
118 + MEMCOPY(&htblptr->bits[1], mjpg_dc1_bits, SIZEOF(mjpg_dc1_bits));
119 + MEMCOPY(&htblptr->huffval[0], mjpg_dc1_huffval, SIZEOF(mjpg_dc1_huffval));
120 + cinfo->dc_huff_tbl_ptrs[1] = htblptr;
121 + }
122 +
123 + if (! cinfo->ac_huff_tbl_ptrs[0]) {
124 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo);
125 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL));
126 + MEMCOPY(&htblptr->bits[1], mjpg_ac0_bits, SIZEOF(mjpg_ac0_bits));
127 + MEMCOPY(&htblptr->huffval[0], mjpg_ac0_huffval, SIZEOF(mjpg_ac0_huffval));
128 + cinfo->ac_huff_tbl_ptrs[0] = htblptr;
129 + }
130 +
131 + if (! cinfo->ac_huff_tbl_ptrs[1]) {
132 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo);
133 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL));
134 + MEMCOPY(&htblptr->bits[1], mjpg_ac1_bits, SIZEOF(mjpg_ac1_bits));
135 + MEMCOPY(&htblptr->huffval[0], mjpg_ac1_huffval, SIZEOF(mjpg_ac1_huffval));
136 + cinfo->ac_huff_tbl_ptrs[1] = htblptr;
137 + }
138 +}
139 +
140 +#else
141 +
142 +#define mjpg_load_huff_tables(cinfo)
143 +
144 +#endif /* MOTION_JPEG_SUPPORTED */
145 +
146 +
147 /*
148 * Read markers until SOS or EOI.
149 *
150 @@ -1009,6 +1146,7 @@
151 break;
19 152
20 +#ifndef FAR 153 case M_SOS:
21 #ifdef NEED_FAR_POINTERS 154 + mjpg_load_huff_tables(cinfo);
22 #define FAR far 155 if (! get_sos(cinfo))
23 #else 156 » return JPEG_SUSPENDED;
24 #define FAR 157 cinfo->unread_marker = 0;» /* processed the marker */
25 #endif
26 +#endif
27
28
29 /*
30 Index: jpeglib.h 158 Index: jpeglib.h
31 =================================================================== 159 ===================================================================
32 --- jpeglib.h» (revision 64575) 160 --- jpeglib.h» (revision 677)
33 +++ jpeglib.h (working copy) 161 +++ jpeglib.h (working copy)
34 @@ -18,6 +18,10 @@ 162 @@ -15,6 +15,10 @@
35 extern "C" { 163 #ifndef JPEGLIB_H
36 #endif 164 #define JPEGLIB_H
37 165
38 +/* Begin chromium edits */ 166 +/* Begin chromium edits */
39 +#include "jpeglibmangler.h" 167 +#include "jpeglibmangler.h"
40 +/* End chromium edits */ 168 +/* End chromium edits */
41 + 169 +
42 /* 170 /*
43 * First we include the configuration files that record how this 171 * First we include the configuration files that record how this
44 * installation of the JPEG library is set up. jconfig.h can be 172 * installation of the JPEG library is set up. jconfig.h can be
45 Index: jpeglibmangler.h 173 Index: jpeglibmangler.h
46 =================================================================== 174 ===================================================================
47 --- jpeglibmangler.h (revision 0) 175 --- jpeglibmangler.h (revision 0)
48 +++ jpeglibmangler.h» (revision 78340) 176 +++ jpeglibmangler.h» (revision 0)
49 @@ -0,0 +1,113 @@ 177 @@ -0,0 +1,113 @@
50 +// Copyright (c) 2009 The Chromium Authors. All rights reserved. 178 +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
51 +// Use of this source code is governed by a BSD-style license that can be 179 +// Use of this source code is governed by a BSD-style license that can be
52 +// found in the LICENSE file. 180 +// found in the LICENSE file.
53 + 181 +
54 +#ifndef THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ 182 +#ifndef THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_
55 +#define THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ 183 +#define THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_
56 + 184 +
57 +// Mangle all externally visible function names so we can build our own libjpeg 185 +// Mangle all externally visible function names so we can build our own libjpeg
58 +// without system libraries trying to use it. 186 +// without system libraries trying to use it.
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 +#define jpeg_get_small chromium_jpeg_get_small 281 +#define jpeg_get_small chromium_jpeg_get_small
154 +#define jpeg_free_small chromium_jpeg_free_small 282 +#define jpeg_free_small chromium_jpeg_free_small
155 +#define jpeg_get_large chromium_jpeg_get_large 283 +#define jpeg_get_large chromium_jpeg_get_large
156 +#define jpeg_free_large chromium_jpeg_free_large 284 +#define jpeg_free_large chromium_jpeg_free_large
157 +#define jpeg_mem_available chromium_jpeg_mem_available 285 +#define jpeg_mem_available chromium_jpeg_mem_available
158 +#define jpeg_open_backing_store chromium_jpeg_open_backing_store 286 +#define jpeg_open_backing_store chromium_jpeg_open_backing_store
159 +#define jpeg_mem_init chromium_jpeg_mem_init 287 +#define jpeg_mem_init chromium_jpeg_mem_init
160 +#define jpeg_mem_term chromium_jpeg_mem_term 288 +#define jpeg_mem_term chromium_jpeg_mem_term
161 + 289 +
162 +#endif // THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ 290 +#endif // THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_
163 Index: jdhuff.c 291 Index: simd/jcgrass2-64.asm
164 =================================================================== 292 ===================================================================
165 --- jdhuff.c» (revision 64575) 293 --- simd/jcgrass2-64.asm» (revision 677)
166 +++ jdhuff.c» (working copy) 294 +++ simd/jcgrass2-64.asm» (working copy)
167 @@ -658,7 +658,7 @@ 295 @@ -30,7 +30,7 @@
168 symbol |= GET_BITS(1); \ 296 » SECTION»SEG_CONST
169 size++; \
170 } \
171 - symbol = htbl->pub->huffval[ (int) (symbol + htbl->valoffset[size]) ]; \
172 + symbol = htbl->pub->huffval[ (int) (symbol + htbl->valoffset[size]) & 0xFF ]; \
173 } \
174 }
175 Index: simd/jcqntmmx.asm
176 ===================================================================
177 --- simd/jcqntmmx.asm» (revision 64575)
178 +++ simd/jcqntmmx.asm» (working copy)
179 @@ -35,7 +35,7 @@
180 %define workspace» ebp+16» » ; DCTELEM * workspace
181
182 » align» 16
183 -» global» EXTN(jsimd_convsamp_mmx)
184 +» global» EXTN(jsimd_convsamp_mmx) PRIVATE
185
186 EXTN(jsimd_convsamp_mmx):
187 » push» ebp
188 @@ -140,7 +140,7 @@
189 %define workspace» ebp+16» » ; DCTELEM * workspace
190
191 » align» 16
192 -» global» EXTN(jsimd_quantize_mmx)
193 +» global» EXTN(jsimd_quantize_mmx) PRIVATE
194
195 EXTN(jsimd_quantize_mmx):
196 » push» ebp
197 Index: simd/jimmxfst.asm
198 ===================================================================
199 --- simd/jimmxfst.asm» (revision 64575)
200 +++ simd/jimmxfst.asm» (working copy)
201 @@ -59,7 +59,7 @@
202 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
203 297
204 alignz 16 298 alignz 16
205 -» global» EXTN(jconst_idct_ifast_mmx) 299 -» global» EXTN(jconst_rgb_gray_convert_sse2)
206 +» global» EXTN(jconst_idct_ifast_mmx) PRIVATE 300 +» global» EXTN(jconst_rgb_gray_convert_sse2) PRIVATE
207 301
208 EXTN(jconst_idct_ifast_mmx): 302 EXTN(jconst_rgb_gray_convert_sse2):
209 303
210 @@ -94,7 +94,7 @@
211 ; JCOEF workspace[DCTSIZE2]
212
213 align 16
214 - global EXTN(jsimd_idct_ifast_mmx)
215 + global EXTN(jsimd_idct_ifast_mmx) PRIVATE
216
217 EXTN(jsimd_idct_ifast_mmx):
218 push ebp
219 Index: simd/jfss2fst.asm
220 ===================================================================
221 --- simd/jfss2fst.asm (revision 64575)
222 +++ simd/jfss2fst.asm (working copy)
223 @@ -52,7 +52,7 @@
224 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
225
226 alignz 16
227 - global EXTN(jconst_fdct_ifast_sse2)
228 + global EXTN(jconst_fdct_ifast_sse2) PRIVATE
229
230 EXTN(jconst_fdct_ifast_sse2):
231
232 @@ -80,7 +80,7 @@
233 %define WK_NUM 2
234
235 align 16
236 - global EXTN(jsimd_fdct_ifast_sse2)
237 + global EXTN(jsimd_fdct_ifast_sse2) PRIVATE
238
239 EXTN(jsimd_fdct_ifast_sse2):
240 push ebp
241 Index: simd/jiss2fst.asm 304 Index: simd/jiss2fst.asm
242 =================================================================== 305 ===================================================================
243 --- simd/jiss2fst.asm» (revision 64575) 306 --- simd/jiss2fst.asm» (revision 677)
244 +++ simd/jiss2fst.asm (working copy) 307 +++ simd/jiss2fst.asm (working copy)
245 @@ -59,7 +59,7 @@ 308 @@ -59,7 +59,7 @@
246 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) 309 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
247 310
248 alignz 16 311 alignz 16
249 - global EXTN(jconst_idct_ifast_sse2) 312 - global EXTN(jconst_idct_ifast_sse2)
250 + global EXTN(jconst_idct_ifast_sse2) PRIVATE 313 + global EXTN(jconst_idct_ifast_sse2) PRIVATE
251 314
252 EXTN(jconst_idct_ifast_sse2): 315 EXTN(jconst_idct_ifast_sse2):
253 316
254 @@ -92,7 +92,7 @@ 317 @@ -92,7 +92,7 @@
255 %define WK_NUM 2 318 %define WK_NUM 2
256 319
257 align 16 320 align 16
258 - global EXTN(jsimd_idct_ifast_sse2) 321 - global EXTN(jsimd_idct_ifast_sse2)
259 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE 322 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE
260 323
261 EXTN(jsimd_idct_ifast_sse2): 324 EXTN(jsimd_idct_ifast_sse2):
262 push ebp 325 push ebp
263 Index: simd/jdcolss2-64.asm
264 ===================================================================
265 --- simd/jdcolss2-64.asm (revision 64575)
266 +++ simd/jdcolss2-64.asm (working copy)
267 @@ -35,7 +35,7 @@
268 SECTION SEG_CONST
269
270 alignz 16
271 - global EXTN(jconst_ycc_rgb_convert_sse2)
272 + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE
273
274 EXTN(jconst_ycc_rgb_convert_sse2):
275
276 Index: simd/jf3dnflt.asm
277 ===================================================================
278 --- simd/jf3dnflt.asm (revision 64575)
279 +++ simd/jf3dnflt.asm (working copy)
280 @@ -27,7 +27,7 @@
281 SECTION SEG_CONST
282
283 alignz 16
284 - global EXTN(jconst_fdct_float_3dnow)
285 + global EXTN(jconst_fdct_float_3dnow) PRIVATE
286
287 EXTN(jconst_fdct_float_3dnow):
288
289 @@ -55,7 +55,7 @@
290 %define WK_NUM 2
291
292 align 16
293 - global EXTN(jsimd_fdct_float_3dnow)
294 + global EXTN(jsimd_fdct_float_3dnow) PRIVATE
295
296 EXTN(jsimd_fdct_float_3dnow):
297 push ebp
298 Index: simd/jcclrss2-64.asm 326 Index: simd/jcclrss2-64.asm
299 =================================================================== 327 ===================================================================
300 --- simd/jcclrss2-64.asm» (revision 64575) 328 --- simd/jcclrss2-64.asm» (revision 677)
301 +++ simd/jcclrss2-64.asm (working copy) 329 +++ simd/jcclrss2-64.asm (working copy)
302 @@ -17,8 +17,12 @@ 330 @@ -37,7 +37,7 @@
303 %include "jcolsamp.inc"
304
305 ; --------------------------------------------------------------------------
306 +%ifndef NEED_SECTION
307 +%define NEED_SECTION
308 » SECTION»SEG_TEXT
309 » BITS» 64
310 +%endif
311 +
312 ;
313 ; Convert some rows of samples to the output colorspace.
314 ;
315 @@ -39,7 +43,7 @@
316 331
317 align 16 332 align 16
318 333
319 - global EXTN(jsimd_rgb_ycc_convert_sse2) 334 - global EXTN(jsimd_rgb_ycc_convert_sse2)
320 + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE 335 + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE
321 336
322 EXTN(jsimd_rgb_ycc_convert_sse2): 337 EXTN(jsimd_rgb_ycc_convert_sse2):
323 push rbp 338 push rbp
324 Index: simd/jiss2red-64.asm 339 Index: simd/jiss2red-64.asm
325 =================================================================== 340 ===================================================================
326 --- simd/jiss2red-64.asm» (revision 64575) 341 --- simd/jiss2red-64.asm» (revision 677)
327 +++ simd/jiss2red-64.asm (working copy) 342 +++ simd/jiss2red-64.asm (working copy)
328 @@ -73,7 +73,7 @@ 343 @@ -73,7 +73,7 @@
329 SECTION SEG_CONST 344 SECTION SEG_CONST
330 345
331 alignz 16 346 alignz 16
332 - global EXTN(jconst_idct_red_sse2) 347 - global EXTN(jconst_idct_red_sse2)
333 + global EXTN(jconst_idct_red_sse2) PRIVATE 348 + global EXTN(jconst_idct_red_sse2) PRIVATE
334 349
335 EXTN(jconst_idct_red_sse2): 350 EXTN(jconst_idct_red_sse2):
336 351
337 @@ -114,7 +114,7 @@ 352 @@ -114,7 +114,7 @@
338 %define WK_NUM 2 353 %define WK_NUM 2
339 354
340 align 16 355 align 16
341 - global EXTN(jsimd_idct_4x4_sse2) 356 - global EXTN(jsimd_idct_4x4_sse2)
342 + global EXTN(jsimd_idct_4x4_sse2) PRIVATE 357 + global EXTN(jsimd_idct_4x4_sse2) PRIVATE
343 358
344 EXTN(jsimd_idct_4x4_sse2): 359 EXTN(jsimd_idct_4x4_sse2):
345 push rbp 360 push rbp
346 @@ -413,7 +413,7 @@ 361 @@ -413,7 +413,7 @@
347 ; r13 = JDIMENSION output_col 362 ; r13 = JDIMENSION output_col
348 363
349 align 16 364 align 16
350 - global EXTN(jsimd_idct_2x2_sse2) 365 - global EXTN(jsimd_idct_2x2_sse2)
351 + global EXTN(jsimd_idct_2x2_sse2) PRIVATE 366 + global EXTN(jsimd_idct_2x2_sse2) PRIVATE
352 367
353 EXTN(jsimd_idct_2x2_sse2): 368 EXTN(jsimd_idct_2x2_sse2):
354 push rbp 369 push rbp
355 Index: simd/jdsamss2-64.asm
356 ===================================================================
357 --- simd/jdsamss2-64.asm (revision 64575)
358 +++ simd/jdsamss2-64.asm (working copy)
359 @@ -23,7 +23,7 @@
360 SECTION SEG_CONST
361
362 alignz 16
363 - global EXTN(jconst_fancy_upsample_sse2)
364 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE
365
366 EXTN(jconst_fancy_upsample_sse2):
367
368 @@ -59,7 +59,7 @@
369 ; r13 = JSAMPARRAY * output_data_ptr
370
371 align 16
372 - global EXTN(jsimd_h2v1_fancy_upsample_sse2)
373 + global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE
374
375 EXTN(jsimd_h2v1_fancy_upsample_sse2):
376 push rbp
377 @@ -201,7 +201,7 @@
378 %define WK_NUM 4
379
380 align 16
381 - global EXTN(jsimd_h2v2_fancy_upsample_sse2)
382 + global EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE
383
384 EXTN(jsimd_h2v2_fancy_upsample_sse2):
385 push rbp
386 @@ -498,7 +498,7 @@
387 ; r13 = JSAMPARRAY * output_data_ptr
388
389 align 16
390 - global EXTN(jsimd_h2v1_upsample_sse2)
391 + global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE
392
393 EXTN(jsimd_h2v1_upsample_sse2):
394 push rbp
395 @@ -587,7 +587,7 @@
396 ; r13 = JSAMPARRAY * output_data_ptr
397
398 align 16
399 - global EXTN(jsimd_h2v2_upsample_sse2)
400 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
401
402 EXTN(jsimd_h2v2_upsample_sse2):
403 push rbp
404 Index: simd/ji3dnflt.asm 370 Index: simd/ji3dnflt.asm
405 =================================================================== 371 ===================================================================
406 --- simd/ji3dnflt.asm» (revision 64575) 372 --- simd/ji3dnflt.asm» (revision 677)
407 +++ simd/ji3dnflt.asm (working copy) 373 +++ simd/ji3dnflt.asm (working copy)
408 @@ -27,7 +27,7 @@ 374 @@ -27,7 +27,7 @@
409 SECTION SEG_CONST 375 SECTION SEG_CONST
410 376
411 alignz 16 377 alignz 16
412 - global EXTN(jconst_idct_float_3dnow) 378 - global EXTN(jconst_idct_float_3dnow)
413 + global EXTN(jconst_idct_float_3dnow) PRIVATE 379 + global EXTN(jconst_idct_float_3dnow) PRIVATE
414 380
415 EXTN(jconst_idct_float_3dnow): 381 EXTN(jconst_idct_float_3dnow):
416 382
417 @@ -63,7 +63,7 @@ 383 @@ -63,7 +63,7 @@
418 ; FAST_FLOAT workspace[DCTSIZE2] 384 ; FAST_FLOAT workspace[DCTSIZE2]
419 385
420 align 16 386 align 16
421 - global EXTN(jsimd_idct_float_3dnow) 387 - global EXTN(jsimd_idct_float_3dnow)
422 + global EXTN(jsimd_idct_float_3dnow) PRIVATE 388 + global EXTN(jsimd_idct_float_3dnow) PRIVATE
423 389
424 EXTN(jsimd_idct_float_3dnow): 390 EXTN(jsimd_idct_float_3dnow):
425 push ebp 391 push ebp
426 Index: simd/jsimdcpu.asm 392 Index: simd/jsimdcpu.asm
427 =================================================================== 393 ===================================================================
428 --- simd/jsimdcpu.asm» (revision 64575) 394 --- simd/jsimdcpu.asm» (revision 677)
429 +++ simd/jsimdcpu.asm (working copy) 395 +++ simd/jsimdcpu.asm (working copy)
430 @@ -29,7 +29,7 @@ 396 @@ -29,7 +29,7 @@
431 ; 397 ;
432 398
433 align 16 399 align 16
434 - global EXTN(jpeg_simd_cpu_support) 400 - global EXTN(jpeg_simd_cpu_support)
435 + global EXTN(jpeg_simd_cpu_support) PRIVATE 401 + global EXTN(jpeg_simd_cpu_support) PRIVATE
436 402
437 EXTN(jpeg_simd_cpu_support): 403 EXTN(jpeg_simd_cpu_support):
438 push ebx 404 push ebx
439 Index: simd/jcsammmx.asm 405 Index: simd/jdmerss2-64.asm
440 =================================================================== 406 ===================================================================
441 --- simd/jcsammmx.asm» (revision 64575) 407 --- simd/jdmerss2-64.asm» (revision 677)
442 +++ simd/jcsammmx.asm» (working copy) 408 +++ simd/jdmerss2-64.asm» (working copy)
443 @@ -40,7 +40,7 @@ 409 @@ -35,7 +35,7 @@
444 %define output_data(b)»(b)+28» ; JSAMPARRAY output_data 410 » SECTION»SEG_CONST
445 411
446 » align» 16 412 » alignz» 16
447 -» global» EXTN(jsimd_h2v1_downsample_mmx) 413 -» global» EXTN(jconst_merged_upsample_sse2)
448 +» global» EXTN(jsimd_h2v1_downsample_mmx) PRIVATE 414 +» global» EXTN(jconst_merged_upsample_sse2) PRIVATE
449 415
450 EXTN(jsimd_h2v1_downsample_mmx): 416 EXTN(jconst_merged_upsample_sse2):
451 » push» ebp
452 @@ -182,7 +182,7 @@
453 %define output_data(b)»(b)+28» ; JSAMPARRAY output_data
454 417
455 align 16
456 - global EXTN(jsimd_h2v2_downsample_mmx)
457 + global EXTN(jsimd_h2v2_downsample_mmx) PRIVATE
458
459 EXTN(jsimd_h2v2_downsample_mmx):
460 push ebp
461 Index: simd/jdsammmx.asm 418 Index: simd/jdsammmx.asm
462 =================================================================== 419 ===================================================================
463 --- simd/jdsammmx.asm» (revision 64575) 420 --- simd/jdsammmx.asm» (revision 677)
464 +++ simd/jdsammmx.asm (working copy) 421 +++ simd/jdsammmx.asm (working copy)
465 @@ -22,7 +22,7 @@ 422 @@ -22,7 +22,7 @@
466 SECTION SEG_CONST 423 SECTION SEG_CONST
467 424
468 alignz 16 425 alignz 16
469 - global EXTN(jconst_fancy_upsample_mmx) 426 - global EXTN(jconst_fancy_upsample_mmx)
470 + global EXTN(jconst_fancy_upsample_mmx) PRIVATE 427 + global EXTN(jconst_fancy_upsample_mmx) PRIVATE
471 428
472 EXTN(jconst_fancy_upsample_mmx): 429 EXTN(jconst_fancy_upsample_mmx):
473 430
(...skipping 26 matching lines...) Expand all
500 push ebp 457 push ebp
501 @@ -643,7 +643,7 @@ 458 @@ -643,7 +643,7 @@
502 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr 459 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr
503 460
504 align 16 461 align 16
505 - global EXTN(jsimd_h2v2_upsample_mmx) 462 - global EXTN(jsimd_h2v2_upsample_mmx)
506 + global EXTN(jsimd_h2v2_upsample_mmx) PRIVATE 463 + global EXTN(jsimd_h2v2_upsample_mmx) PRIVATE
507 464
508 EXTN(jsimd_h2v2_upsample_mmx): 465 EXTN(jsimd_h2v2_upsample_mmx):
509 push ebp 466 push ebp
510 Index: simd/jdmerss2-64.asm
511 ===================================================================
512 --- simd/jdmerss2-64.asm (revision 64575)
513 +++ simd/jdmerss2-64.asm (working copy)
514 @@ -35,7 +35,7 @@
515 SECTION SEG_CONST
516
517 alignz 16
518 - global EXTN(jconst_merged_upsample_sse2)
519 + global EXTN(jconst_merged_upsample_sse2) PRIVATE
520
521 EXTN(jconst_merged_upsample_sse2):
522
523 Index: simd/jcqnts2f-64.asm
524 ===================================================================
525 --- simd/jcqnts2f-64.asm (revision 64575)
526 +++ simd/jcqnts2f-64.asm (working copy)
527 @@ -36,7 +36,7 @@
528 ; r12 = FAST_FLOAT * workspace
529
530 align 16
531 - global EXTN(jsimd_convsamp_float_sse2)
532 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE
533
534 EXTN(jsimd_convsamp_float_sse2):
535 push rbp
536 @@ -110,7 +110,7 @@
537 ; r12 = FAST_FLOAT * workspace
538
539 align 16
540 - global EXTN(jsimd_quantize_float_sse2)
541 + global EXTN(jsimd_quantize_float_sse2) PRIVATE
542
543 EXTN(jsimd_quantize_float_sse2):
544 push rbp
545 Index: simd/jcqnt3dn.asm
546 ===================================================================
547 --- simd/jcqnt3dn.asm (revision 64575)
548 +++ simd/jcqnt3dn.asm (working copy)
549 @@ -35,7 +35,7 @@
550 %define workspace ebp+16 ; FAST_FLOAT * workspace
551
552 align 16
553 - global EXTN(jsimd_convsamp_float_3dnow)
554 + global EXTN(jsimd_convsamp_float_3dnow) PRIVATE
555
556 EXTN(jsimd_convsamp_float_3dnow):
557 push ebp
558 @@ -138,7 +138,7 @@
559 %define workspace ebp+16 ; FAST_FLOAT * workspace
560
561 align 16
562 - global EXTN(jsimd_quantize_float_3dnow)
563 + global EXTN(jsimd_quantize_float_3dnow) PRIVATE
564
565 EXTN(jsimd_quantize_float_3dnow):
566 push ebp
567 Index: simd/jcsamss2.asm
568 ===================================================================
569 --- simd/jcsamss2.asm (revision 64575)
570 +++ simd/jcsamss2.asm (working copy)
571 @@ -40,7 +40,7 @@
572 %define output_data(b) (b)+28 ; JSAMPARRAY output_data
573
574 align 16
575 - global EXTN(jsimd_h2v1_downsample_sse2)
576 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE
577
578 EXTN(jsimd_h2v1_downsample_sse2):
579 push ebp
580 @@ -195,7 +195,7 @@
581 %define output_data(b) (b)+28 ; JSAMPARRAY output_data
582
583 align 16
584 - global EXTN(jsimd_h2v2_downsample_sse2)
585 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE
586
587 EXTN(jsimd_h2v2_downsample_sse2):
588 push ebp
589 Index: simd/jdmrgmmx.asm 467 Index: simd/jdmrgmmx.asm
590 =================================================================== 468 ===================================================================
591 --- simd/jdmrgmmx.asm» (revision 64575) 469 --- simd/jdmrgmmx.asm» (revision 677)
592 +++ simd/jdmrgmmx.asm (working copy) 470 +++ simd/jdmrgmmx.asm (working copy)
593 @@ -19,8 +19,12 @@ 471 @@ -40,7 +40,7 @@
594 %include "jcolsamp.inc"
595
596 ; --------------------------------------------------------------------------
597 +%ifndef NEED_SECTION
598 +%define NEED_SECTION
599 » SECTION»SEG_TEXT
600 » BITS» 32
601 +%endif
602 +
603 ;
604 ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical.
605 ;
606 @@ -42,7 +46,7 @@
607 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr 472 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr
608 473
609 align 16 474 align 16
610 - global EXTN(jsimd_h2v1_merged_upsample_mmx) 475 - global EXTN(jsimd_h2v1_merged_upsample_mmx)
611 + global EXTN(jsimd_h2v1_merged_upsample_mmx) PRIVATE 476 + global EXTN(jsimd_h2v1_merged_upsample_mmx) PRIVATE
612 477
613 EXTN(jsimd_h2v1_merged_upsample_mmx): 478 EXTN(jsimd_h2v1_merged_upsample_mmx):
614 push ebp 479 push ebp
615 @@ -411,7 +415,7 @@ 480 @@ -409,7 +409,7 @@
616 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf 481 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf
617 482
618 align 16 483 align 16
619 - global EXTN(jsimd_h2v2_merged_upsample_mmx) 484 - global EXTN(jsimd_h2v2_merged_upsample_mmx)
620 + global EXTN(jsimd_h2v2_merged_upsample_mmx) PRIVATE 485 + global EXTN(jsimd_h2v2_merged_upsample_mmx) PRIVATE
621 486
622 EXTN(jsimd_h2v2_merged_upsample_mmx): 487 EXTN(jsimd_h2v2_merged_upsample_mmx):
623 push ebp 488 push ebp
624 Index: simd/jdsamss2.asm 489 Index: simd/jdsamss2.asm
625 =================================================================== 490 ===================================================================
626 --- simd/jdsamss2.asm» (revision 64575) 491 --- simd/jdsamss2.asm» (revision 677)
627 +++ simd/jdsamss2.asm (working copy) 492 +++ simd/jdsamss2.asm (working copy)
628 @@ -22,7 +22,7 @@ 493 @@ -22,7 +22,7 @@
629 SECTION SEG_CONST 494 SECTION SEG_CONST
630 495
631 alignz 16 496 alignz 16
632 - global EXTN(jconst_fancy_upsample_sse2) 497 - global EXTN(jconst_fancy_upsample_sse2)
633 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE 498 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE
634 499
635 EXTN(jconst_fancy_upsample_sse2): 500 EXTN(jconst_fancy_upsample_sse2):
636 501
(...skipping 28 matching lines...) Expand all
665 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr 530 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr
666 531
667 align 16 532 align 16
668 - global EXTN(jsimd_h2v2_upsample_sse2) 533 - global EXTN(jsimd_h2v2_upsample_sse2)
669 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE 534 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
670 535
671 EXTN(jsimd_h2v2_upsample_sse2): 536 EXTN(jsimd_h2v2_upsample_sse2):
672 push ebp 537 push ebp
673 Index: simd/jiss2flt-64.asm 538 Index: simd/jiss2flt-64.asm
674 =================================================================== 539 ===================================================================
675 --- simd/jiss2flt-64.asm» (revision 64575) 540 --- simd/jiss2flt-64.asm» (revision 677)
676 +++ simd/jiss2flt-64.asm (working copy) 541 +++ simd/jiss2flt-64.asm (working copy)
677 @@ -38,7 +38,7 @@ 542 @@ -38,7 +38,7 @@
678 SECTION SEG_CONST 543 SECTION SEG_CONST
679 544
680 alignz 16 545 alignz 16
681 - global EXTN(jconst_idct_float_sse2) 546 - global EXTN(jconst_idct_float_sse2)
682 + global EXTN(jconst_idct_float_sse2) PRIVATE 547 + global EXTN(jconst_idct_float_sse2) PRIVATE
683 548
684 EXTN(jconst_idct_float_sse2): 549 EXTN(jconst_idct_float_sse2):
685 550
686 @@ -74,7 +74,7 @@ 551 @@ -74,7 +74,7 @@
687 ; FAST_FLOAT workspace[DCTSIZE2] 552 ; FAST_FLOAT workspace[DCTSIZE2]
688 553
689 align 16 554 align 16
690 - global EXTN(jsimd_idct_float_sse2) 555 - global EXTN(jsimd_idct_float_sse2)
691 + global EXTN(jsimd_idct_float_sse2) PRIVATE 556 + global EXTN(jsimd_idct_float_sse2) PRIVATE
692 557
693 EXTN(jsimd_idct_float_sse2): 558 EXTN(jsimd_idct_float_sse2):
694 push rbp 559 push rbp
695 Index: simd/jfss2int-64.asm 560 Index: simd/jfss2int-64.asm
696 =================================================================== 561 ===================================================================
697 --- simd/jfss2int-64.asm» (revision 64575) 562 --- simd/jfss2int-64.asm» (revision 677)
698 +++ simd/jfss2int-64.asm (working copy) 563 +++ simd/jfss2int-64.asm (working copy)
699 @@ -67,7 +67,7 @@ 564 @@ -67,7 +67,7 @@
700 SECTION SEG_CONST 565 SECTION SEG_CONST
701 566
702 alignz 16 567 alignz 16
703 - global EXTN(jconst_fdct_islow_sse2) 568 - global EXTN(jconst_fdct_islow_sse2)
704 + global EXTN(jconst_fdct_islow_sse2) PRIVATE 569 + global EXTN(jconst_fdct_islow_sse2) PRIVATE
705 570
706 EXTN(jconst_fdct_islow_sse2): 571 EXTN(jconst_fdct_islow_sse2):
707 572
708 @@ -101,7 +101,7 @@ 573 @@ -101,7 +101,7 @@
709 %define WK_NUM 6 574 %define WK_NUM 6
710 575
711 align 16 576 align 16
712 - global EXTN(jsimd_fdct_islow_sse2) 577 - global EXTN(jsimd_fdct_islow_sse2)
713 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE 578 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE
714 579
715 EXTN(jsimd_fdct_islow_sse2): 580 EXTN(jsimd_fdct_islow_sse2):
716 push rbp 581 push rbp
717 Index: simd/jcqnts2f.asm 582 Index: simd/jcqnts2f.asm
718 =================================================================== 583 ===================================================================
719 --- simd/jcqnts2f.asm» (revision 64575) 584 --- simd/jcqnts2f.asm» (revision 677)
720 +++ simd/jcqnts2f.asm (working copy) 585 +++ simd/jcqnts2f.asm (working copy)
721 @@ -35,7 +35,7 @@ 586 @@ -35,7 +35,7 @@
722 %define workspace ebp+16 ; FAST_FLOAT * workspace 587 %define workspace ebp+16 ; FAST_FLOAT * workspace
723 588
724 align 16 589 align 16
725 - global EXTN(jsimd_convsamp_float_sse2) 590 - global EXTN(jsimd_convsamp_float_sse2)
726 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE 591 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE
727 592
728 EXTN(jsimd_convsamp_float_sse2): 593 EXTN(jsimd_convsamp_float_sse2):
729 push ebp 594 push ebp
730 @@ -115,7 +115,7 @@ 595 @@ -115,7 +115,7 @@
731 %define workspace ebp+16 ; FAST_FLOAT * workspace 596 %define workspace ebp+16 ; FAST_FLOAT * workspace
732 597
733 align 16 598 align 16
734 - global EXTN(jsimd_quantize_float_sse2) 599 - global EXTN(jsimd_quantize_float_sse2)
735 + global EXTN(jsimd_quantize_float_sse2) PRIVATE 600 + global EXTN(jsimd_quantize_float_sse2) PRIVATE
736 601
737 EXTN(jsimd_quantize_float_sse2): 602 EXTN(jsimd_quantize_float_sse2):
738 push ebp 603 push ebp
739 Index: simd/jdmrgss2.asm 604 Index: simd/jdmrgss2.asm
740 =================================================================== 605 ===================================================================
741 --- simd/jdmrgss2.asm» (revision 64575) 606 --- simd/jdmrgss2.asm» (revision 677)
742 +++ simd/jdmrgss2.asm (working copy) 607 +++ simd/jdmrgss2.asm (working copy)
743 @@ -19,8 +19,12 @@ 608 @@ -40,7 +40,7 @@
744 %include "jcolsamp.inc"
745 » » » »
746 ; --------------------------------------------------------------------------
747 +%ifndef NEED_SECTION
748 +%define NEED_SECTION
749 » SECTION»SEG_TEXT
750 » BITS» 32
751 +%endif
752 +
753 ;
754 ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical.
755 ;
756 @@ -42,7 +46,7 @@
757 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr 609 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr
758 610
759 align 16 611 align 16
760 - global EXTN(jsimd_h2v1_merged_upsample_sse2) 612 - global EXTN(jsimd_h2v1_merged_upsample_sse2)
761 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE 613 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE
762 614
763 EXTN(jsimd_h2v1_merged_upsample_sse2): 615 EXTN(jsimd_h2v1_merged_upsample_sse2):
764 push ebp 616 push ebp
765 @@ -309,6 +313,41 @@ 617 @@ -307,6 +307,41 @@
766 movdqa xmmA,xmmD 618 movdqa xmmA,xmmD
767 sub ecx, byte SIZEOF_XMMWORD 619 sub ecx, byte SIZEOF_XMMWORD
768 .column_st15: 620 .column_st15:
769 +%ifdef STRICT_MEMORY_ACCESS 621 +%ifdef STRICT_MEMORY_ACCESS
770 + ; Store the lower 8 bytes of xmmA to the output when it has enough 622 + ; Store the lower 8 bytes of xmmA to the output when it has enough
771 + ; space. 623 + ; space.
772 + cmp ecx, byte SIZEOF_MMWORD 624 + cmp ecx, byte SIZEOF_MMWORD
773 + jb short .column_st7 625 + jb short .column_st7
774 + movq MMWORD [edi], xmmA 626 + movq MMWORD [edi], xmmA
775 + add edi, byte SIZEOF_MMWORD 627 + add edi, byte SIZEOF_MMWORD
(...skipping 21 matching lines...) Expand all
797 +.column_st1: 649 +.column_st1:
798 + ; Store the lower 1 byte of eax to the output when it has enough 650 + ; Store the lower 1 byte of eax to the output when it has enough
799 + ; space. 651 + ; space.
800 + test ecx, ecx 652 + test ecx, ecx
801 + jz short .endcolumn 653 + jz short .endcolumn
802 + mov BYTE [edi], al 654 + mov BYTE [edi], al
803 +%else 655 +%else
804 mov eax,ecx 656 mov eax,ecx
805 xor ecx, byte 0x0F 657 xor ecx, byte 0x0F
806 shl ecx, 2 658 shl ecx, 2
807 @@ -348,6 +387,7 @@ 659 @@ -346,6 +381,7 @@
808 por xmmE,xmmC 660 por xmmE,xmmC
809 .adj0: ; ---------------- 661 .adj0: ; ----------------
810 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA 662 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA
811 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 663 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
812 664
813 %else ; RGB_PIXELSIZE == 4 ; ----------- 665 %else ; RGB_PIXELSIZE == 4 ; -----------
814 666
815 @@ -436,6 +476,22 @@ 667 @@ -434,6 +470,22 @@
816 movdqa xmmA,xmmD 668 movdqa xmmA,xmmD
817 sub ecx, byte SIZEOF_XMMWORD/4 669 sub ecx, byte SIZEOF_XMMWORD/4
818 .column_st15: 670 .column_st15:
819 +%ifdef STRICT_MEMORY_ACCESS 671 +%ifdef STRICT_MEMORY_ACCESS
820 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough 672 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough
821 + ; space. 673 + ; space.
822 + cmp ecx, byte SIZEOF_XMMWORD/8 674 + cmp ecx, byte SIZEOF_XMMWORD/8
823 + jb short .column_st7 675 + jb short .column_st7
824 + movq MMWORD [edi], xmmA 676 + movq MMWORD [edi], xmmA
825 + add edi, byte SIZEOF_XMMWORD/8*4 677 + add edi, byte SIZEOF_XMMWORD/8*4
826 + sub ecx, byte SIZEOF_XMMWORD/8 678 + sub ecx, byte SIZEOF_XMMWORD/8
827 + psrldq xmmA, SIZEOF_XMMWORD/8*4 679 + psrldq xmmA, SIZEOF_XMMWORD/8*4
828 +.column_st7: 680 +.column_st7:
829 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough 681 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough
830 + ; space. 682 + ; space.
831 + test ecx, ecx 683 + test ecx, ecx
832 + jz short .endcolumn 684 + jz short .endcolumn
833 + movd DWORD [edi], xmmA 685 + movd DWORD [edi], xmmA
834 +%else 686 +%else
835 cmp ecx, byte SIZEOF_XMMWORD/16 687 cmp ecx, byte SIZEOF_XMMWORD/16
836 jb short .endcolumn 688 jb short .endcolumn
837 mov eax,ecx 689 mov eax,ecx
838 @@ -475,6 +531,7 @@ 690 @@ -473,6 +525,7 @@
839 por xmmE,xmmG 691 por xmmE,xmmG
840 .adj0: ; ---------------- 692 .adj0: ; ----------------
841 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA 693 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA
842 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 694 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
843 695
844 %endif ; RGB_PIXELSIZE ; --------------- 696 %endif ; RGB_PIXELSIZE ; ---------------
845 697
846 @@ -509,7 +566,7 @@ 698 @@ -507,7 +560,7 @@
847 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf 699 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf
848 700
849 align 16 701 align 16
850 - global EXTN(jsimd_h2v2_merged_upsample_sse2) 702 - global EXTN(jsimd_h2v2_merged_upsample_sse2)
851 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE 703 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE
852 704
853 EXTN(jsimd_h2v2_merged_upsample_sse2): 705 EXTN(jsimd_h2v2_merged_upsample_sse2):
854 push ebp 706 push ebp
855 Index: simd/jfmmxint.asm 707 Index: simd/jfmmxint.asm
856 =================================================================== 708 ===================================================================
857 --- simd/jfmmxint.asm» (revision 64575) 709 --- simd/jfmmxint.asm» (revision 677)
858 +++ simd/jfmmxint.asm (working copy) 710 +++ simd/jfmmxint.asm (working copy)
859 @@ -66,7 +66,7 @@ 711 @@ -66,7 +66,7 @@
860 SECTION SEG_CONST 712 SECTION SEG_CONST
861 713
862 alignz 16 714 alignz 16
863 - global EXTN(jconst_fdct_islow_mmx) 715 - global EXTN(jconst_fdct_islow_mmx)
864 + global EXTN(jconst_fdct_islow_mmx) PRIVATE 716 + global EXTN(jconst_fdct_islow_mmx) PRIVATE
865 717
866 EXTN(jconst_fdct_islow_mmx): 718 EXTN(jconst_fdct_islow_mmx):
867 719
868 @@ -101,7 +101,7 @@ 720 @@ -101,7 +101,7 @@
869 %define WK_NUM 2 721 %define WK_NUM 2
870 722
871 align 16 723 align 16
872 - global EXTN(jsimd_fdct_islow_mmx) 724 - global EXTN(jsimd_fdct_islow_mmx)
873 + global EXTN(jsimd_fdct_islow_mmx) PRIVATE 725 + global EXTN(jsimd_fdct_islow_mmx) PRIVATE
874 726
875 EXTN(jsimd_fdct_islow_mmx): 727 EXTN(jsimd_fdct_islow_mmx):
876 push ebp 728 push ebp
729 Index: simd/jcgryss2-64.asm
730 ===================================================================
731 --- simd/jcgryss2-64.asm (revision 677)
732 +++ simd/jcgryss2-64.asm (working copy)
733 @@ -37,7 +37,7 @@
734
735 align 16
736
737 - global EXTN(jsimd_rgb_gray_convert_sse2)
738 + global EXTN(jsimd_rgb_gray_convert_sse2) PRIVATE
739
740 EXTN(jsimd_rgb_gray_convert_sse2):
741 push rbp
877 Index: simd/jcqnts2i.asm 742 Index: simd/jcqnts2i.asm
878 =================================================================== 743 ===================================================================
879 --- simd/jcqnts2i.asm» (revision 64575) 744 --- simd/jcqnts2i.asm» (revision 677)
880 +++ simd/jcqnts2i.asm (working copy) 745 +++ simd/jcqnts2i.asm (working copy)
881 @@ -35,7 +35,7 @@ 746 @@ -35,7 +35,7 @@
882 %define workspace ebp+16 ; DCTELEM * workspace 747 %define workspace ebp+16 ; DCTELEM * workspace
883 748
884 align 16 749 align 16
885 - global EXTN(jsimd_convsamp_sse2) 750 - global EXTN(jsimd_convsamp_sse2)
886 + global EXTN(jsimd_convsamp_sse2) PRIVATE 751 + global EXTN(jsimd_convsamp_sse2) PRIVATE
887 752
888 EXTN(jsimd_convsamp_sse2): 753 EXTN(jsimd_convsamp_sse2):
889 push ebp 754 push ebp
890 @@ -117,7 +117,7 @@ 755 @@ -117,7 +117,7 @@
891 %define workspace ebp+16 ; DCTELEM * workspace 756 %define workspace ebp+16 ; DCTELEM * workspace
892 757
893 align 16 758 align 16
894 - global EXTN(jsimd_quantize_sse2) 759 - global EXTN(jsimd_quantize_sse2)
895 + global EXTN(jsimd_quantize_sse2) PRIVATE 760 + global EXTN(jsimd_quantize_sse2) PRIVATE
896 761
897 EXTN(jsimd_quantize_sse2): 762 EXTN(jsimd_quantize_sse2):
898 push ebp 763 push ebp
899 Index: simd/jiss2fst-64.asm 764 Index: simd/jiss2fst-64.asm
900 =================================================================== 765 ===================================================================
901 --- simd/jiss2fst-64.asm» (revision 64575) 766 --- simd/jiss2fst-64.asm» (revision 677)
902 +++ simd/jiss2fst-64.asm (working copy) 767 +++ simd/jiss2fst-64.asm (working copy)
903 @@ -60,7 +60,7 @@ 768 @@ -60,7 +60,7 @@
904 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) 769 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
905 770
906 alignz 16 771 alignz 16
907 - global EXTN(jconst_idct_ifast_sse2) 772 - global EXTN(jconst_idct_ifast_sse2)
908 + global EXTN(jconst_idct_ifast_sse2) PRIVATE 773 + global EXTN(jconst_idct_ifast_sse2) PRIVATE
909 774
910 EXTN(jconst_idct_ifast_sse2): 775 EXTN(jconst_idct_ifast_sse2):
911 776
912 @@ -93,7 +93,7 @@ 777 @@ -93,7 +93,7 @@
913 %define WK_NUM 2 778 %define WK_NUM 2
914 779
915 align 16 780 align 16
916 - global EXTN(jsimd_idct_ifast_sse2) 781 - global EXTN(jsimd_idct_ifast_sse2)
917 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE 782 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE
918 783
919 EXTN(jsimd_idct_ifast_sse2): 784 EXTN(jsimd_idct_ifast_sse2):
920 push rbp 785 push rbp
921 Index: simd/jimmxint.asm
922 ===================================================================
923 --- simd/jimmxint.asm (revision 64575)
924 +++ simd/jimmxint.asm (working copy)
925 @@ -66,7 +66,7 @@
926 SECTION SEG_CONST
927
928 alignz 16
929 - global EXTN(jconst_idct_islow_mmx)
930 + global EXTN(jconst_idct_islow_mmx) PRIVATE
931
932 EXTN(jconst_idct_islow_mmx):
933
934 @@ -107,7 +107,7 @@
935 ; JCOEF workspace[DCTSIZE2]
936
937 align 16
938 - global EXTN(jsimd_idct_islow_mmx)
939 + global EXTN(jsimd_idct_islow_mmx) PRIVATE
940
941 EXTN(jsimd_idct_islow_mmx):
942 push ebp
943 Index: simd/jiss2flt.asm 786 Index: simd/jiss2flt.asm
944 =================================================================== 787 ===================================================================
945 --- simd/jiss2flt.asm» (revision 64575) 788 --- simd/jiss2flt.asm» (revision 677)
946 +++ simd/jiss2flt.asm (working copy) 789 +++ simd/jiss2flt.asm (working copy)
947 @@ -37,7 +37,7 @@ 790 @@ -37,7 +37,7 @@
948 SECTION SEG_CONST 791 SECTION SEG_CONST
949 792
950 alignz 16 793 alignz 16
951 - global EXTN(jconst_idct_float_sse2) 794 - global EXTN(jconst_idct_float_sse2)
952 + global EXTN(jconst_idct_float_sse2) PRIVATE 795 + global EXTN(jconst_idct_float_sse2) PRIVATE
953 796
954 EXTN(jconst_idct_float_sse2): 797 EXTN(jconst_idct_float_sse2):
955 798
956 @@ -73,7 +73,7 @@ 799 @@ -73,7 +73,7 @@
957 ; FAST_FLOAT workspace[DCTSIZE2] 800 ; FAST_FLOAT workspace[DCTSIZE2]
958 801
959 align 16 802 align 16
960 - global EXTN(jsimd_idct_float_sse2) 803 - global EXTN(jsimd_idct_float_sse2)
961 + global EXTN(jsimd_idct_float_sse2) PRIVATE 804 + global EXTN(jsimd_idct_float_sse2) PRIVATE
962 805
963 EXTN(jsimd_idct_float_sse2): 806 EXTN(jsimd_idct_float_sse2):
964 push ebp 807 push ebp
965 Index: simd/jfss2int.asm
966 ===================================================================
967 --- simd/jfss2int.asm (revision 64575)
968 +++ simd/jfss2int.asm (working copy)
969 @@ -66,7 +66,7 @@
970 SECTION SEG_CONST
971
972 alignz 16
973 - global EXTN(jconst_fdct_islow_sse2)
974 + global EXTN(jconst_fdct_islow_sse2) PRIVATE
975
976 EXTN(jconst_fdct_islow_sse2):
977
978 @@ -101,7 +101,7 @@
979 %define WK_NUM 6
980
981 align 16
982 - global EXTN(jsimd_fdct_islow_sse2)
983 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE
984
985 EXTN(jsimd_fdct_islow_sse2):
986 push ebp
987 Index: simd/jiss2int.asm 808 Index: simd/jiss2int.asm
988 =================================================================== 809 ===================================================================
989 --- simd/jiss2int.asm» (revision 64575) 810 --- simd/jiss2int.asm» (revision 677)
990 +++ simd/jiss2int.asm (working copy) 811 +++ simd/jiss2int.asm (working copy)
991 @@ -66,7 +66,7 @@ 812 @@ -66,7 +66,7 @@
992 SECTION SEG_CONST 813 SECTION SEG_CONST
993 814
994 alignz 16 815 alignz 16
995 - global EXTN(jconst_idct_islow_sse2) 816 - global EXTN(jconst_idct_islow_sse2)
996 + global EXTN(jconst_idct_islow_sse2) PRIVATE 817 + global EXTN(jconst_idct_islow_sse2) PRIVATE
997 818
998 EXTN(jconst_idct_islow_sse2): 819 EXTN(jconst_idct_islow_sse2):
999 820
1000 @@ -105,7 +105,7 @@ 821 @@ -105,7 +105,7 @@
1001 %define WK_NUM 12 822 %define WK_NUM 12
1002 823
1003 align 16 824 align 16
1004 - global EXTN(jsimd_idct_islow_sse2) 825 - global EXTN(jsimd_idct_islow_sse2)
1005 + global EXTN(jsimd_idct_islow_sse2) PRIVATE 826 + global EXTN(jsimd_idct_islow_sse2) PRIVATE
1006 827
1007 EXTN(jsimd_idct_islow_sse2): 828 EXTN(jsimd_idct_islow_sse2):
1008 push ebp 829 push ebp
1009 Index: simd/jfsseflt-64.asm 830 Index: simd/jfsseflt-64.asm
1010 =================================================================== 831 ===================================================================
1011 --- simd/jfsseflt-64.asm» (revision 64575) 832 --- simd/jfsseflt-64.asm» (revision 677)
1012 +++ simd/jfsseflt-64.asm (working copy) 833 +++ simd/jfsseflt-64.asm (working copy)
1013 @@ -38,7 +38,7 @@ 834 @@ -38,7 +38,7 @@
1014 SECTION SEG_CONST 835 SECTION SEG_CONST
1015 836
1016 alignz 16 837 alignz 16
1017 - global EXTN(jconst_fdct_float_sse) 838 - global EXTN(jconst_fdct_float_sse)
1018 + global EXTN(jconst_fdct_float_sse) PRIVATE 839 + global EXTN(jconst_fdct_float_sse) PRIVATE
1019 840
1020 EXTN(jconst_fdct_float_sse): 841 EXTN(jconst_fdct_float_sse):
1021 842
1022 @@ -65,7 +65,7 @@ 843 @@ -65,7 +65,7 @@
1023 %define WK_NUM 2 844 %define WK_NUM 2
1024 845
1025 align 16 846 align 16
1026 - global EXTN(jsimd_fdct_float_sse) 847 - global EXTN(jsimd_fdct_float_sse)
1027 + global EXTN(jsimd_fdct_float_sse) PRIVATE 848 + global EXTN(jsimd_fdct_float_sse) PRIVATE
1028 849
1029 EXTN(jsimd_fdct_float_sse): 850 EXTN(jsimd_fdct_float_sse):
1030 push rbp 851 push rbp
1031 Index: simd/jccolss2-64.asm 852 Index: simd/jccolss2-64.asm
1032 =================================================================== 853 ===================================================================
1033 --- simd/jccolss2-64.asm» (revision 64575) 854 --- simd/jccolss2-64.asm» (revision 677)
1034 +++ simd/jccolss2-64.asm (working copy) 855 +++ simd/jccolss2-64.asm (working copy)
1035 @@ -34,7 +34,7 @@ 856 @@ -34,7 +34,7 @@
1036 SECTION SEG_CONST 857 SECTION SEG_CONST
1037 858
1038 alignz 16 859 alignz 16
1039 - global EXTN(jconst_rgb_ycc_convert_sse2) 860 - global EXTN(jconst_rgb_ycc_convert_sse2)
1040 + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE 861 + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE
1041 862
1042 EXTN(jconst_rgb_ycc_convert_sse2): 863 EXTN(jconst_rgb_ycc_convert_sse2):
1043 864
1044 Index: simd/jccolmmx.asm
1045 ===================================================================
1046 --- simd/jccolmmx.asm (revision 64575)
1047 +++ simd/jccolmmx.asm (working copy)
1048 @@ -37,7 +37,7 @@
1049 SECTION SEG_CONST
1050
1051 alignz 16
1052 - global EXTN(jconst_rgb_ycc_convert_mmx)
1053 + global EXTN(jconst_rgb_ycc_convert_mmx) PRIVATE
1054
1055 EXTN(jconst_rgb_ycc_convert_mmx):
1056
1057 Index: simd/jcsamss2-64.asm 865 Index: simd/jcsamss2-64.asm
1058 =================================================================== 866 ===================================================================
1059 --- simd/jcsamss2-64.asm» (revision 64575) 867 --- simd/jcsamss2-64.asm» (revision 677)
1060 +++ simd/jcsamss2-64.asm (working copy) 868 +++ simd/jcsamss2-64.asm (working copy)
1061 @@ -41,7 +41,7 @@ 869 @@ -41,7 +41,7 @@
1062 ; r15 = JSAMPARRAY output_data 870 ; r15 = JSAMPARRAY output_data
1063 871
1064 align 16 872 align 16
1065 - global EXTN(jsimd_h2v1_downsample_sse2) 873 - global EXTN(jsimd_h2v1_downsample_sse2)
1066 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE 874 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE
1067 875
1068 EXTN(jsimd_h2v1_downsample_sse2): 876 EXTN(jsimd_h2v1_downsample_sse2):
1069 push rbp 877 push rbp
1070 @@ -185,7 +185,7 @@ 878 @@ -185,7 +185,7 @@
1071 ; r15 = JSAMPARRAY output_data 879 ; r15 = JSAMPARRAY output_data
1072 880
1073 align 16 881 align 16
1074 - global EXTN(jsimd_h2v2_downsample_sse2) 882 - global EXTN(jsimd_h2v2_downsample_sse2)
1075 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE 883 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE
1076 884
1077 EXTN(jsimd_h2v2_downsample_sse2): 885 EXTN(jsimd_h2v2_downsample_sse2):
1078 push rbp 886 push rbp
1079 Index: simd/jdcolmmx.asm
1080 ===================================================================
1081 --- simd/jdcolmmx.asm (revision 64575)
1082 +++ simd/jdcolmmx.asm (working copy)
1083 @@ -35,7 +35,7 @@
1084 SECTION SEG_CONST
1085
1086 alignz 16
1087 - global EXTN(jconst_ycc_rgb_convert_mmx)
1088 + global EXTN(jconst_ycc_rgb_convert_mmx) PRIVATE
1089
1090 EXTN(jconst_ycc_rgb_convert_mmx):
1091
1092 Index: simd/jdclrss2-64.asm 887 Index: simd/jdclrss2-64.asm
1093 =================================================================== 888 ===================================================================
1094 --- simd/jdclrss2-64.asm» (revision 64575) 889 --- simd/jdclrss2-64.asm» (revision 677)
1095 +++ simd/jdclrss2-64.asm (working copy) 890 +++ simd/jdclrss2-64.asm (working copy)
1096 @@ -20,8 +20,12 @@ 891 @@ -39,7 +39,7 @@
1097 %include "jcolsamp.inc"
1098 » » » »
1099 ; --------------------------------------------------------------------------
1100 +%ifndef NEED_SECTION
1101 +%define NEED_SECTION
1102 » SECTION»SEG_TEXT
1103 » BITS» 64
1104 +%endif
1105 +
1106 ;
1107 ; Convert some rows of samples to the output colorspace.
1108 ;
1109 @@ -41,7 +45,7 @@
1110 %define WK_NUM 2 892 %define WK_NUM 2
1111 893
1112 align 16 894 align 16
1113 - global EXTN(jsimd_ycc_rgb_convert_sse2) 895 - global EXTN(jsimd_ycc_rgb_convert_sse2)
1114 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE 896 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE
1115 897
1116 EXTN(jsimd_ycc_rgb_convert_sse2): 898 EXTN(jsimd_ycc_rgb_convert_sse2):
1117 push rbp 899 push rbp
1118 @@ -292,6 +296,41 @@ 900 @@ -290,6 +290,41 @@
1119 movdqa xmmA,xmmD 901 movdqa xmmA,xmmD
1120 sub rcx, byte SIZEOF_XMMWORD 902 sub rcx, byte SIZEOF_XMMWORD
1121 .column_st15: 903 .column_st15:
1122 +%ifdef STRICT_MEMORY_ACCESS 904 +%ifdef STRICT_MEMORY_ACCESS
1123 + ; Store the lower 8 bytes of xmmA to the output when it has enough 905 + ; Store the lower 8 bytes of xmmA to the output when it has enough
1124 + ; space. 906 + ; space.
1125 + cmp rcx, byte SIZEOF_MMWORD 907 + cmp rcx, byte SIZEOF_MMWORD
1126 + jb short .column_st7 908 + jb short .column_st7
1127 + movq MMWORD [rdi], xmmA 909 + movq MMWORD [rdi], xmmA
1128 + add rdi, byte SIZEOF_MMWORD 910 + add rdi, byte SIZEOF_MMWORD
(...skipping 21 matching lines...) Expand all
1150 +.column_st1: 932 +.column_st1:
1151 + ; Store the lower 1 byte of rax to the output when it has enough 933 + ; Store the lower 1 byte of rax to the output when it has enough
1152 + ; space. 934 + ; space.
1153 + test rcx, rcx 935 + test rcx, rcx
1154 + jz short .nextrow 936 + jz short .nextrow
1155 + mov BYTE [rdi], al 937 + mov BYTE [rdi], al
1156 +%else 938 +%else
1157 mov rax,rcx 939 mov rax,rcx
1158 xor rcx, byte 0x0F 940 xor rcx, byte 0x0F
1159 shl rcx, 2 941 shl rcx, 2
1160 @@ -331,6 +370,7 @@ 942 @@ -329,6 +364,7 @@
1161 por xmmE,xmmC 943 por xmmE,xmmC
1162 .adj0: ; ---------------- 944 .adj0: ; ----------------
1163 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA 945 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA
1164 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 946 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
1165 947
1166 %else ; RGB_PIXELSIZE == 4 ; ----------- 948 %else ; RGB_PIXELSIZE == 4 ; -----------
1167 949
1168 @@ -415,6 +455,22 @@ 950 @@ -413,6 +449,22 @@
1169 movdqa xmmA,xmmD 951 movdqa xmmA,xmmD
1170 sub rcx, byte SIZEOF_XMMWORD/4 952 sub rcx, byte SIZEOF_XMMWORD/4
1171 .column_st15: 953 .column_st15:
1172 +%ifdef STRICT_MEMORY_ACCESS 954 +%ifdef STRICT_MEMORY_ACCESS
1173 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough 955 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough
1174 + ; space. 956 + ; space.
1175 + cmp rcx, byte SIZEOF_XMMWORD/8 957 + cmp rcx, byte SIZEOF_XMMWORD/8
1176 + jb short .column_st7 958 + jb short .column_st7
1177 + movq MMWORD [rdi], xmmA 959 + movq MMWORD [rdi], xmmA
1178 + add rdi, byte SIZEOF_XMMWORD/8*4 960 + add rdi, byte SIZEOF_XMMWORD/8*4
1179 + sub rcx, byte SIZEOF_XMMWORD/8 961 + sub rcx, byte SIZEOF_XMMWORD/8
1180 + psrldq xmmA, SIZEOF_XMMWORD/8*4 962 + psrldq xmmA, SIZEOF_XMMWORD/8*4
1181 +.column_st7: 963 +.column_st7:
1182 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough 964 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough
1183 + ; space. 965 + ; space.
1184 + test rcx, rcx 966 + test rcx, rcx
1185 + jz short .nextrow 967 + jz short .nextrow
1186 + movd DWORD [rdi], xmmA 968 + movd DWORD [rdi], xmmA
1187 +%else 969 +%else
1188 cmp rcx, byte SIZEOF_XMMWORD/16 970 cmp rcx, byte SIZEOF_XMMWORD/16
1189 jb near .nextrow 971 jb near .nextrow
1190 mov rax,rcx 972 mov rax,rcx
1191 @@ -454,6 +510,7 @@ 973 @@ -452,6 +504,7 @@
1192 por xmmE,xmmG 974 por xmmE,xmmG
1193 .adj0: ; ---------------- 975 .adj0: ; ----------------
1194 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA 976 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA
1195 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 977 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
1196 978
1197 %endif ; RGB_PIXELSIZE ; --------------- 979 %endif ; RGB_PIXELSIZE ; ---------------
1198 980
981 Index: simd/jdcolmmx.asm
982 ===================================================================
983 --- simd/jdcolmmx.asm (revision 677)
984 +++ simd/jdcolmmx.asm (working copy)
985 @@ -35,7 +35,7 @@
986 SECTION SEG_CONST
987
988 alignz 16
989 - global EXTN(jconst_ycc_rgb_convert_mmx)
990 + global EXTN(jconst_ycc_rgb_convert_mmx) PRIVATE
991
992 EXTN(jconst_ycc_rgb_convert_mmx):
993
1199 Index: simd/jcclrmmx.asm 994 Index: simd/jcclrmmx.asm
1200 =================================================================== 995 ===================================================================
1201 --- simd/jcclrmmx.asm» (revision 64575) 996 --- simd/jcclrmmx.asm» (revision 677)
1202 +++ simd/jcclrmmx.asm (working copy) 997 +++ simd/jcclrmmx.asm (working copy)
1203 @@ -19,8 +19,12 @@ 998 @@ -40,7 +40,7 @@
1204 %include "jcolsamp.inc"
1205
1206 ; --------------------------------------------------------------------------
1207 +%ifndef NEED_SECTION
1208 +%define NEED_SECTION
1209 » SECTION»SEG_TEXT
1210 » BITS» 32
1211 +%endif
1212 +
1213 ;
1214 ; Convert some rows of samples to the output colorspace.
1215 ;
1216 @@ -42,7 +46,7 @@
1217 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr 999 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr
1218 1000
1219 align 16 1001 align 16
1220 - global EXTN(jsimd_rgb_ycc_convert_mmx) 1002 - global EXTN(jsimd_rgb_ycc_convert_mmx)
1221 + global EXTN(jsimd_rgb_ycc_convert_mmx) PRIVATE 1003 + global EXTN(jsimd_rgb_ycc_convert_mmx) PRIVATE
1222 1004
1223 EXTN(jsimd_rgb_ycc_convert_mmx): 1005 EXTN(jsimd_rgb_ycc_convert_mmx):
1224 push ebp 1006 push ebp
1225 Index: simd/jimmxred.asm
1226 ===================================================================
1227 --- simd/jimmxred.asm (revision 64575)
1228 +++ simd/jimmxred.asm (working copy)
1229 @@ -72,7 +72,7 @@
1230 SECTION SEG_CONST
1231
1232 alignz 16
1233 - global EXTN(jconst_idct_red_mmx)
1234 + global EXTN(jconst_idct_red_mmx) PRIVATE
1235
1236 EXTN(jconst_idct_red_mmx):
1237
1238 @@ -115,7 +115,7 @@
1239 ; JCOEF workspace[DCTSIZE2]
1240
1241 align 16
1242 - global EXTN(jsimd_idct_4x4_mmx)
1243 + global EXTN(jsimd_idct_4x4_mmx) PRIVATE
1244
1245 EXTN(jsimd_idct_4x4_mmx):
1246 push ebp
1247 @@ -503,7 +503,7 @@
1248 %define output_col(b) (b)+20 ; JDIMENSION output_col
1249
1250 align 16
1251 - global EXTN(jsimd_idct_2x2_mmx)
1252 + global EXTN(jsimd_idct_2x2_mmx) PRIVATE
1253
1254 EXTN(jsimd_idct_2x2_mmx):
1255 push ebp
1256 Index: simd/jdclrmmx.asm
1257 ===================================================================
1258 --- simd/jdclrmmx.asm (revision 64575)
1259 +++ simd/jdclrmmx.asm (working copy)
1260 @@ -19,8 +19,12 @@
1261 %include "jcolsamp.inc"
1262
1263 ; --------------------------------------------------------------------------
1264 +%ifndef NEED_SECTION
1265 +%define NEED_SECTION
1266 SECTION SEG_TEXT
1267 BITS 32
1268 +%endif
1269 +
1270 ;
1271 ; Convert some rows of samples to the output colorspace.
1272 ;
1273 @@ -42,7 +46,7 @@
1274 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr
1275
1276 align 16
1277 - global EXTN(jsimd_ycc_rgb_convert_mmx)
1278 + global EXTN(jsimd_ycc_rgb_convert_mmx) PRIVATE
1279
1280 EXTN(jsimd_ycc_rgb_convert_mmx):
1281 push ebp
1282 Index: simd/jfsseflt.asm 1007 Index: simd/jfsseflt.asm
1283 =================================================================== 1008 ===================================================================
1284 --- simd/jfsseflt.asm» (revision 64575) 1009 --- simd/jfsseflt.asm» (revision 677)
1285 +++ simd/jfsseflt.asm (working copy) 1010 +++ simd/jfsseflt.asm (working copy)
1286 @@ -37,7 +37,7 @@ 1011 @@ -37,7 +37,7 @@
1287 SECTION SEG_CONST 1012 SECTION SEG_CONST
1288 1013
1289 alignz 16 1014 alignz 16
1290 - global EXTN(jconst_fdct_float_sse) 1015 - global EXTN(jconst_fdct_float_sse)
1291 + global EXTN(jconst_fdct_float_sse) PRIVATE 1016 + global EXTN(jconst_fdct_float_sse) PRIVATE
1292 1017
1293 EXTN(jconst_fdct_float_sse): 1018 EXTN(jconst_fdct_float_sse):
1294 1019
1295 @@ -65,7 +65,7 @@ 1020 @@ -65,7 +65,7 @@
1296 %define WK_NUM 2 1021 %define WK_NUM 2
1297 1022
1298 align 16 1023 align 16
1299 - global EXTN(jsimd_fdct_float_sse) 1024 - global EXTN(jsimd_fdct_float_sse)
1300 + global EXTN(jsimd_fdct_float_sse) PRIVATE 1025 + global EXTN(jsimd_fdct_float_sse) PRIVATE
1301 1026
1302 EXTN(jsimd_fdct_float_sse): 1027 EXTN(jsimd_fdct_float_sse):
1303 push ebp 1028 push ebp
1304 Index: simd/jsimdext.inc
1305 ===================================================================
1306 --- simd/jsimdext.inc (revision 64575)
1307 +++ simd/jsimdext.inc (working copy)
1308 @@ -38,16 +38,16 @@
1309
1310 ; -- segment definition --
1311 ;
1312 -%define SEG_TEXT .text align=16 public use32 class=CODE
1313 -%define SEG_CONST .rdata align=16 public use32 class=CONST
1314 +%define SEG_TEXT .text align=16 ; public use32 class=CODE
1315 +%define SEG_CONST .rdata align=16 ; public use32 class=CONST
1316
1317 %elifdef WIN64 ; ----(nasm -fwin64 -DWIN64 ...)--------
1318 ; * Microsoft Visual C++
1319
1320 ; -- segment definition --
1321 ;
1322 -%define SEG_TEXT .text align=16 public use64 class=CODE
1323 -%define SEG_CONST .rdata align=16 public use64 class=CONST
1324 +%define SEG_TEXT .text align=16 ; public use64 class=CODE
1325 +%define SEG_CONST .rdata align=16 ; public use64 class=CONST
1326 %ifdef MSVC
1327 %define EXTN(name) name ; foo() -> foo
1328 %endif
1329 @@ -369,4 +369,14 @@
1330 ;
1331 %include "jsimdcfg.inc"
1332
1333 +; Begin chromium edits
1334 +%ifdef MACHO ; ----(nasm -fmacho -DMACHO ...)--------
1335 +%define PRIVATE :private_extern
1336 +%elifdef ELF ; ----(nasm -felf[64] -DELF ...)------------
1337 +%define PRIVATE :hidden
1338 +%else
1339 +%define PRIVATE
1340 +%endif
1341 +; End chromium edits
1342 +
1343 ; --------------------------------------------------------------------------
1344 Index: simd/jdmrgss2-64.asm 1029 Index: simd/jdmrgss2-64.asm
1345 =================================================================== 1030 ===================================================================
1346 --- simd/jdmrgss2-64.asm» (revision 64575) 1031 --- simd/jdmrgss2-64.asm» (revision 677)
1347 +++ simd/jdmrgss2-64.asm (working copy) 1032 +++ simd/jdmrgss2-64.asm (working copy)
1348 @@ -20,8 +20,12 @@ 1033 @@ -39,7 +39,7 @@
1349 %include "jcolsamp.inc"
1350 » » » »
1351 ; --------------------------------------------------------------------------
1352 +%ifndef NEED_SECTION
1353 +%define NEED_SECTION
1354 » SECTION»SEG_TEXT
1355 » BITS» 64
1356 +%endif
1357 +
1358 ;
1359 ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical.
1360 ;
1361 @@ -41,7 +45,7 @@
1362 %define WK_NUM 3 1034 %define WK_NUM 3
1363 1035
1364 align 16 1036 align 16
1365 - global EXTN(jsimd_h2v1_merged_upsample_sse2) 1037 - global EXTN(jsimd_h2v1_merged_upsample_sse2)
1366 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE 1038 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE
1367 1039
1368 EXTN(jsimd_h2v1_merged_upsample_sse2): 1040 EXTN(jsimd_h2v1_merged_upsample_sse2):
1369 push rbp 1041 push rbp
1370 @@ -296,6 +300,41 @@ 1042 @@ -294,6 +294,41 @@
1371 movdqa xmmA,xmmD 1043 movdqa xmmA,xmmD
1372 sub rcx, byte SIZEOF_XMMWORD 1044 sub rcx, byte SIZEOF_XMMWORD
1373 .column_st15: 1045 .column_st15:
1374 +%ifdef STRICT_MEMORY_ACCESS 1046 +%ifdef STRICT_MEMORY_ACCESS
1375 + ; Store the lower 8 bytes of xmmA to the output when it has enough 1047 + ; Store the lower 8 bytes of xmmA to the output when it has enough
1376 + ; space. 1048 + ; space.
1377 + cmp rcx, byte SIZEOF_MMWORD 1049 + cmp rcx, byte SIZEOF_MMWORD
1378 + jb short .column_st7 1050 + jb short .column_st7
1379 + movq MMWORD [rdi], xmmA 1051 + movq MMWORD [rdi], xmmA
1380 + add rdi, byte SIZEOF_MMWORD 1052 + add rdi, byte SIZEOF_MMWORD
(...skipping 21 matching lines...) Expand all
1402 +.column_st1: 1074 +.column_st1:
1403 + ; Store the lower 1 byte of rax to the output when it has enough 1075 + ; Store the lower 1 byte of rax to the output when it has enough
1404 + ; space. 1076 + ; space.
1405 + test rcx, rcx 1077 + test rcx, rcx
1406 + jz short .endcolumn 1078 + jz short .endcolumn
1407 + mov BYTE [rdi], al 1079 + mov BYTE [rdi], al
1408 +%else 1080 +%else
1409 mov rax,rcx 1081 mov rax,rcx
1410 xor rcx, byte 0x0F 1082 xor rcx, byte 0x0F
1411 shl rcx, 2 1083 shl rcx, 2
1412 @@ -335,6 +374,7 @@ 1084 @@ -333,6 +368,7 @@
1413 por xmmE,xmmC 1085 por xmmE,xmmC
1414 .adj0: ; ---------------- 1086 .adj0: ; ----------------
1415 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA 1087 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA
1416 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 1088 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
1417 1089
1418 %else ; RGB_PIXELSIZE == 4 ; ----------- 1090 %else ; RGB_PIXELSIZE == 4 ; -----------
1419 1091
1420 @@ -422,6 +462,22 @@ 1092 @@ -420,6 +456,22 @@
1421 movdqa xmmA,xmmD 1093 movdqa xmmA,xmmD
1422 sub rcx, byte SIZEOF_XMMWORD/4 1094 sub rcx, byte SIZEOF_XMMWORD/4
1423 .column_st15: 1095 .column_st15:
1424 +%ifdef STRICT_MEMORY_ACCESS 1096 +%ifdef STRICT_MEMORY_ACCESS
1425 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough 1097 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough
1426 + ; space. 1098 + ; space.
1427 + cmp rcx, byte SIZEOF_XMMWORD/8 1099 + cmp rcx, byte SIZEOF_XMMWORD/8
1428 + jb short .column_st7 1100 + jb short .column_st7
1429 + movq MMWORD [rdi], xmmA 1101 + movq MMWORD [rdi], xmmA
1430 + add rdi, byte SIZEOF_XMMWORD/8*4 1102 + add rdi, byte SIZEOF_XMMWORD/8*4
1431 + sub rcx, byte SIZEOF_XMMWORD/8 1103 + sub rcx, byte SIZEOF_XMMWORD/8
1432 + psrldq xmmA, SIZEOF_XMMWORD/8*4 1104 + psrldq xmmA, SIZEOF_XMMWORD/8*4
1433 +.column_st7: 1105 +.column_st7:
1434 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough 1106 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough
1435 + ; space. 1107 + ; space.
1436 + test rcx, rcx 1108 + test rcx, rcx
1437 + jz short .endcolumn 1109 + jz short .endcolumn
1438 + movd DWORD [rdi], xmmA 1110 + movd DWORD [rdi], xmmA
1439 +%else 1111 +%else
1440 cmp rcx, byte SIZEOF_XMMWORD/16 1112 cmp rcx, byte SIZEOF_XMMWORD/16
1441 jb near .endcolumn 1113 jb near .endcolumn
1442 mov rax,rcx 1114 mov rax,rcx
1443 @@ -461,6 +517,7 @@ 1115 @@ -459,6 +511,7 @@
1444 por xmmE,xmmG 1116 por xmmE,xmmG
1445 .adj0: ; ---------------- 1117 .adj0: ; ----------------
1446 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA 1118 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA
1447 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 1119 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
1448 1120
1449 %endif ; RGB_PIXELSIZE ; --------------- 1121 %endif ; RGB_PIXELSIZE ; ---------------
1450 1122
1451 @@ -492,7 +549,7 @@ 1123 @@ -490,7 +543,7 @@
1452 ; r13 = JSAMPARRAY output_buf 1124 ; r13 = JSAMPARRAY output_buf
1453 1125
1454 align 16 1126 align 16
1455 - global EXTN(jsimd_h2v2_merged_upsample_sse2) 1127 - global EXTN(jsimd_h2v2_merged_upsample_sse2)
1456 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE 1128 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE
1457 1129
1458 EXTN(jsimd_h2v2_merged_upsample_sse2): 1130 EXTN(jsimd_h2v2_merged_upsample_sse2):
1459 push rbp 1131 push rbp
1460 Index: simd/jccolss2.asm 1132 Index: simd/jdcolss2.asm
1461 =================================================================== 1133 ===================================================================
1462 --- simd/jccolss2.asm» (revision 64575) 1134 --- simd/jdcolss2.asm» (revision 677)
1463 +++ simd/jccolss2.asm» (working copy) 1135 +++ simd/jdcolss2.asm» (working copy)
1464 @@ -34,7 +34,7 @@ 1136 @@ -35,7 +35,7 @@
1465 SECTION SEG_CONST 1137 SECTION SEG_CONST
1466 1138
1467 alignz 16 1139 alignz 16
1468 -» global» EXTN(jconst_rgb_ycc_convert_sse2) 1140 -» global» EXTN(jconst_ycc_rgb_convert_sse2)
1469 +» global» EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE 1141 +» global» EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE
1470 1142
1471 EXTN(jconst_rgb_ycc_convert_sse2): 1143 EXTN(jconst_ycc_rgb_convert_sse2):
1472 1144
1473 Index: simd/jdmermmx.asm 1145 Index: simd/jdmermmx.asm
1474 =================================================================== 1146 ===================================================================
1475 --- simd/jdmermmx.asm» (revision 64575) 1147 --- simd/jdmermmx.asm» (revision 677)
1476 +++ simd/jdmermmx.asm (working copy) 1148 +++ simd/jdmermmx.asm (working copy)
1477 @@ -35,7 +35,7 @@ 1149 @@ -35,7 +35,7 @@
1478 SECTION SEG_CONST 1150 SECTION SEG_CONST
1479 1151
1480 alignz 16 1152 alignz 16
1481 - global EXTN(jconst_merged_upsample_mmx) 1153 - global EXTN(jconst_merged_upsample_mmx)
1482 + global EXTN(jconst_merged_upsample_mmx) PRIVATE 1154 + global EXTN(jconst_merged_upsample_mmx) PRIVATE
1483 1155
1484 EXTN(jconst_merged_upsample_mmx): 1156 EXTN(jconst_merged_upsample_mmx):
1485 1157
1486 Index: simd/jdcolss2.asm 1158 Index: simd/jcclrss2.asm
1487 =================================================================== 1159 ===================================================================
1488 --- simd/jdcolss2.asm» (revision 64575) 1160 --- simd/jcclrss2.asm» (revision 677)
1489 +++ simd/jdcolss2.asm» (working copy) 1161 +++ simd/jcclrss2.asm» (working copy)
1162 @@ -38,7 +38,7 @@
1163
1164 » align» 16
1165
1166 -» global» EXTN(jsimd_rgb_ycc_convert_sse2)
1167 +» global» EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE
1168
1169 EXTN(jsimd_rgb_ycc_convert_sse2):
1170 » push» ebp
1171 Index: simd/jiss2red.asm
1172 ===================================================================
1173 --- simd/jiss2red.asm» (revision 677)
1174 +++ simd/jiss2red.asm» (working copy)
1175 @@ -72,7 +72,7 @@
1176 » SECTION»SEG_CONST
1177
1178 » alignz» 16
1179 -» global» EXTN(jconst_idct_red_sse2)
1180 +» global» EXTN(jconst_idct_red_sse2) PRIVATE
1181
1182 EXTN(jconst_idct_red_sse2):
1183
1184 @@ -113,7 +113,7 @@
1185 %define WK_NUM»» 2
1186
1187 » align» 16
1188 -» global» EXTN(jsimd_idct_4x4_sse2)
1189 +» global» EXTN(jsimd_idct_4x4_sse2) PRIVATE
1190
1191 EXTN(jsimd_idct_4x4_sse2):
1192 » push» ebp
1193 @@ -424,7 +424,7 @@
1194 %define output_col(b)» (b)+20» » ; JDIMENSION output_col
1195
1196 » align» 16
1197 -» global» EXTN(jsimd_idct_2x2_sse2)
1198 +» global» EXTN(jsimd_idct_2x2_sse2) PRIVATE
1199
1200 EXTN(jsimd_idct_2x2_sse2):
1201 » push» ebp
1202 Index: simd/jdmerss2.asm
1203 ===================================================================
1204 --- simd/jdmerss2.asm» (revision 677)
1205 +++ simd/jdmerss2.asm» (working copy)
1206 @@ -35,7 +35,7 @@
1207 » SECTION»SEG_CONST
1208
1209 » alignz» 16
1210 -» global» EXTN(jconst_merged_upsample_sse2)
1211 +» global» EXTN(jconst_merged_upsample_sse2) PRIVATE
1212
1213 EXTN(jconst_merged_upsample_sse2):
1214
1215 Index: simd/jfss2fst-64.asm
1216 ===================================================================
1217 --- simd/jfss2fst-64.asm» (revision 677)
1218 +++ simd/jfss2fst-64.asm» (working copy)
1219 @@ -53,7 +53,7 @@
1220 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
1221
1222 » alignz» 16
1223 -» global» EXTN(jconst_fdct_ifast_sse2)
1224 +» global» EXTN(jconst_fdct_ifast_sse2) PRIVATE
1225
1226 EXTN(jconst_fdct_ifast_sse2):
1227
1228 @@ -80,7 +80,7 @@
1229 %define WK_NUM»» 2
1230
1231 » align» 16
1232 -» global» EXTN(jsimd_fdct_ifast_sse2)
1233 +» global» EXTN(jsimd_fdct_ifast_sse2) PRIVATE
1234
1235 EXTN(jsimd_fdct_ifast_sse2):
1236 » push» rbp
1237 Index: simd/jcqntmmx.asm
1238 ===================================================================
1239 --- simd/jcqntmmx.asm» (revision 677)
1240 +++ simd/jcqntmmx.asm» (working copy)
1241 @@ -35,7 +35,7 @@
1242 %define workspace» ebp+16» » ; DCTELEM * workspace
1243
1244 » align» 16
1245 -» global» EXTN(jsimd_convsamp_mmx)
1246 +» global» EXTN(jsimd_convsamp_mmx) PRIVATE
1247
1248 EXTN(jsimd_convsamp_mmx):
1249 » push» ebp
1250 @@ -140,7 +140,7 @@
1251 %define workspace» ebp+16» » ; DCTELEM * workspace
1252
1253 » align» 16
1254 -» global» EXTN(jsimd_quantize_mmx)
1255 +» global» EXTN(jsimd_quantize_mmx) PRIVATE
1256
1257 EXTN(jsimd_quantize_mmx):
1258 » push» ebp
1259 Index: simd/jimmxfst.asm
1260 ===================================================================
1261 --- simd/jimmxfst.asm» (revision 677)
1262 +++ simd/jimmxfst.asm» (working copy)
1263 @@ -59,7 +59,7 @@
1264 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
1265
1266 » alignz» 16
1267 -» global» EXTN(jconst_idct_ifast_mmx)
1268 +» global» EXTN(jconst_idct_ifast_mmx) PRIVATE
1269
1270 EXTN(jconst_idct_ifast_mmx):
1271
1272 @@ -94,7 +94,7 @@
1273 » » » » » ; JCOEF workspace[DCTSIZE2]
1274
1275 » align» 16
1276 -» global» EXTN(jsimd_idct_ifast_mmx)
1277 +» global» EXTN(jsimd_idct_ifast_mmx) PRIVATE
1278
1279 EXTN(jsimd_idct_ifast_mmx):
1280 » push» ebp
1281 Index: simd/jfss2fst.asm
1282 ===================================================================
1283 --- simd/jfss2fst.asm» (revision 677)
1284 +++ simd/jfss2fst.asm» (working copy)
1285 @@ -52,7 +52,7 @@
1286 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
1287
1288 » alignz» 16
1289 -» global» EXTN(jconst_fdct_ifast_sse2)
1290 +» global» EXTN(jconst_fdct_ifast_sse2) PRIVATE
1291
1292 EXTN(jconst_fdct_ifast_sse2):
1293
1294 @@ -80,7 +80,7 @@
1295 %define WK_NUM»» 2
1296
1297 » align» 16
1298 -» global» EXTN(jsimd_fdct_ifast_sse2)
1299 +» global» EXTN(jsimd_fdct_ifast_sse2) PRIVATE
1300
1301 EXTN(jsimd_fdct_ifast_sse2):
1302 » push» ebp
1303 Index: simd/jcgrammx.asm
1304 ===================================================================
1305 --- simd/jcgrammx.asm» (revision 677)
1306 +++ simd/jcgrammx.asm» (working copy)
1307 @@ -33,7 +33,7 @@
1308 » SECTION»SEG_CONST
1309
1310 » alignz» 16
1311 -» global» EXTN(jconst_rgb_gray_convert_mmx)
1312 +» global» EXTN(jconst_rgb_gray_convert_mmx) PRIVATE
1313
1314 EXTN(jconst_rgb_gray_convert_mmx):
1315
1316 Index: simd/jdcolss2-64.asm
1317 ===================================================================
1318 --- simd/jdcolss2-64.asm» (revision 677)
1319 +++ simd/jdcolss2-64.asm» (working copy)
1490 @@ -35,7 +35,7 @@ 1320 @@ -35,7 +35,7 @@
1491 SECTION SEG_CONST 1321 SECTION SEG_CONST
1492 1322
1493 alignz 16 1323 alignz 16
1494 - global EXTN(jconst_ycc_rgb_convert_sse2) 1324 - global EXTN(jconst_ycc_rgb_convert_sse2)
1495 + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE 1325 + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE
1496 1326
1497 EXTN(jconst_ycc_rgb_convert_sse2): 1327 EXTN(jconst_ycc_rgb_convert_sse2):
1498 1328
1329 Index: simd/jf3dnflt.asm
1330 ===================================================================
1331 --- simd/jf3dnflt.asm (revision 677)
1332 +++ simd/jf3dnflt.asm (working copy)
1333 @@ -27,7 +27,7 @@
1334 SECTION SEG_CONST
1335
1336 alignz 16
1337 - global EXTN(jconst_fdct_float_3dnow)
1338 + global EXTN(jconst_fdct_float_3dnow) PRIVATE
1339
1340 EXTN(jconst_fdct_float_3dnow):
1341
1342 @@ -55,7 +55,7 @@
1343 %define WK_NUM 2
1344
1345 align 16
1346 - global EXTN(jsimd_fdct_float_3dnow)
1347 + global EXTN(jsimd_fdct_float_3dnow) PRIVATE
1348
1349 EXTN(jsimd_fdct_float_3dnow):
1350 push ebp
1351 Index: simd/jdsamss2-64.asm
1352 ===================================================================
1353 --- simd/jdsamss2-64.asm (revision 677)
1354 +++ simd/jdsamss2-64.asm (working copy)
1355 @@ -23,7 +23,7 @@
1356 SECTION SEG_CONST
1357
1358 alignz 16
1359 - global EXTN(jconst_fancy_upsample_sse2)
1360 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE
1361
1362 EXTN(jconst_fancy_upsample_sse2):
1363
1364 @@ -59,7 +59,7 @@
1365 ; r13 = JSAMPARRAY * output_data_ptr
1366
1367 align 16
1368 - global EXTN(jsimd_h2v1_fancy_upsample_sse2)
1369 + global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE
1370
1371 EXTN(jsimd_h2v1_fancy_upsample_sse2):
1372 push rbp
1373 @@ -201,7 +201,7 @@
1374 %define WK_NUM 4
1375
1376 align 16
1377 - global EXTN(jsimd_h2v2_fancy_upsample_sse2)
1378 + global EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE
1379
1380 EXTN(jsimd_h2v2_fancy_upsample_sse2):
1381 push rbp
1382 @@ -498,7 +498,7 @@
1383 ; r13 = JSAMPARRAY * output_data_ptr
1384
1385 align 16
1386 - global EXTN(jsimd_h2v1_upsample_sse2)
1387 + global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE
1388
1389 EXTN(jsimd_h2v1_upsample_sse2):
1390 push rbp
1391 @@ -587,7 +587,7 @@
1392 ; r13 = JSAMPARRAY * output_data_ptr
1393
1394 align 16
1395 - global EXTN(jsimd_h2v2_upsample_sse2)
1396 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
1397
1398 EXTN(jsimd_h2v2_upsample_sse2):
1399 push rbp
1400 Index: simd/jcgrass2.asm
1401 ===================================================================
1402 --- simd/jcgrass2.asm (revision 677)
1403 +++ simd/jcgrass2.asm (working copy)
1404 @@ -30,7 +30,7 @@
1405 SECTION SEG_CONST
1406
1407 alignz 16
1408 - global EXTN(jconst_rgb_gray_convert_sse2)
1409 + global EXTN(jconst_rgb_gray_convert_sse2) PRIVATE
1410
1411 EXTN(jconst_rgb_gray_convert_sse2):
1412
1413 Index: simd/jcsammmx.asm
1414 ===================================================================
1415 --- simd/jcsammmx.asm (revision 677)
1416 +++ simd/jcsammmx.asm (working copy)
1417 @@ -40,7 +40,7 @@
1418 %define output_data(b) (b)+28 ; JSAMPARRAY output_data
1419
1420 align 16
1421 - global EXTN(jsimd_h2v1_downsample_mmx)
1422 + global EXTN(jsimd_h2v1_downsample_mmx) PRIVATE
1423
1424 EXTN(jsimd_h2v1_downsample_mmx):
1425 push ebp
1426 @@ -182,7 +182,7 @@
1427 %define output_data(b) (b)+28 ; JSAMPARRAY output_data
1428
1429 align 16
1430 - global EXTN(jsimd_h2v2_downsample_mmx)
1431 + global EXTN(jsimd_h2v2_downsample_mmx) PRIVATE
1432
1433 EXTN(jsimd_h2v2_downsample_mmx):
1434 push ebp
1435 Index: simd/jcqnts2f-64.asm
1436 ===================================================================
1437 --- simd/jcqnts2f-64.asm (revision 677)
1438 +++ simd/jcqnts2f-64.asm (working copy)
1439 @@ -36,7 +36,7 @@
1440 ; r12 = FAST_FLOAT * workspace
1441
1442 align 16
1443 - global EXTN(jsimd_convsamp_float_sse2)
1444 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE
1445
1446 EXTN(jsimd_convsamp_float_sse2):
1447 push rbp
1448 @@ -110,7 +110,7 @@
1449 ; r12 = FAST_FLOAT * workspace
1450
1451 align 16
1452 - global EXTN(jsimd_quantize_float_sse2)
1453 + global EXTN(jsimd_quantize_float_sse2) PRIVATE
1454
1455 EXTN(jsimd_quantize_float_sse2):
1456 push rbp
1457 Index: simd/jcqnt3dn.asm
1458 ===================================================================
1459 --- simd/jcqnt3dn.asm (revision 677)
1460 +++ simd/jcqnt3dn.asm (working copy)
1461 @@ -35,7 +35,7 @@
1462 %define workspace ebp+16 ; FAST_FLOAT * workspace
1463
1464 align 16
1465 - global EXTN(jsimd_convsamp_float_3dnow)
1466 + global EXTN(jsimd_convsamp_float_3dnow) PRIVATE
1467
1468 EXTN(jsimd_convsamp_float_3dnow):
1469 push ebp
1470 @@ -138,7 +138,7 @@
1471 %define workspace ebp+16 ; FAST_FLOAT * workspace
1472
1473 align 16
1474 - global EXTN(jsimd_quantize_float_3dnow)
1475 + global EXTN(jsimd_quantize_float_3dnow) PRIVATE
1476
1477 EXTN(jsimd_quantize_float_3dnow):
1478 push ebp
1479 Index: simd/jcsamss2.asm
1480 ===================================================================
1481 --- simd/jcsamss2.asm (revision 677)
1482 +++ simd/jcsamss2.asm (working copy)
1483 @@ -40,7 +40,7 @@
1484 %define output_data(b) (b)+28 ; JSAMPARRAY output_data
1485
1486 align 16
1487 - global EXTN(jsimd_h2v1_downsample_sse2)
1488 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE
1489
1490 EXTN(jsimd_h2v1_downsample_sse2):
1491 push ebp
1492 @@ -195,7 +195,7 @@
1493 %define output_data(b) (b)+28 ; JSAMPARRAY output_data
1494
1495 align 16
1496 - global EXTN(jsimd_h2v2_downsample_sse2)
1497 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE
1498
1499 EXTN(jsimd_h2v2_downsample_sse2):
1500 push ebp
1501 Index: simd/jimmxint.asm
1502 ===================================================================
1503 --- simd/jimmxint.asm (revision 677)
1504 +++ simd/jimmxint.asm (working copy)
1505 @@ -66,7 +66,7 @@
1506 SECTION SEG_CONST
1507
1508 alignz 16
1509 - global EXTN(jconst_idct_islow_mmx)
1510 + global EXTN(jconst_idct_islow_mmx) PRIVATE
1511
1512 EXTN(jconst_idct_islow_mmx):
1513
1514 @@ -107,7 +107,7 @@
1515 ; JCOEF workspace[DCTSIZE2]
1516
1517 align 16
1518 - global EXTN(jsimd_idct_islow_mmx)
1519 + global EXTN(jsimd_idct_islow_mmx) PRIVATE
1520
1521 EXTN(jsimd_idct_islow_mmx):
1522 push ebp
1523 Index: simd/jcgrymmx.asm
1524 ===================================================================
1525 --- simd/jcgrymmx.asm (revision 677)
1526 +++ simd/jcgrymmx.asm (working copy)
1527 @@ -41,7 +41,7 @@
1528 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr
1529
1530 align 16
1531 - global EXTN(jsimd_rgb_gray_convert_mmx)
1532 + global EXTN(jsimd_rgb_gray_convert_mmx) PRIVATE
1533
1534 EXTN(jsimd_rgb_gray_convert_mmx):
1535 push ebp
1536 Index: simd/jfss2int.asm
1537 ===================================================================
1538 --- simd/jfss2int.asm (revision 677)
1539 +++ simd/jfss2int.asm (working copy)
1540 @@ -66,7 +66,7 @@
1541 SECTION SEG_CONST
1542
1543 alignz 16
1544 - global EXTN(jconst_fdct_islow_sse2)
1545 + global EXTN(jconst_fdct_islow_sse2) PRIVATE
1546
1547 EXTN(jconst_fdct_islow_sse2):
1548
1549 @@ -101,7 +101,7 @@
1550 %define WK_NUM 6
1551
1552 align 16
1553 - global EXTN(jsimd_fdct_islow_sse2)
1554 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE
1555
1556 EXTN(jsimd_fdct_islow_sse2):
1557 push ebp
1558 Index: simd/jcgryss2.asm
1559 ===================================================================
1560 --- simd/jcgryss2.asm (revision 677)
1561 +++ simd/jcgryss2.asm (working copy)
1562 @@ -39,7 +39,7 @@
1563
1564 align 16
1565
1566 - global EXTN(jsimd_rgb_gray_convert_sse2)
1567 + global EXTN(jsimd_rgb_gray_convert_sse2) PRIVATE
1568
1569 EXTN(jsimd_rgb_gray_convert_sse2):
1570 push ebp
1571 Index: simd/jccolmmx.asm
1572 ===================================================================
1573 --- simd/jccolmmx.asm (revision 677)
1574 +++ simd/jccolmmx.asm (working copy)
1575 @@ -37,7 +37,7 @@
1576 SECTION SEG_CONST
1577
1578 alignz 16
1579 - global EXTN(jconst_rgb_ycc_convert_mmx)
1580 + global EXTN(jconst_rgb_ycc_convert_mmx) PRIVATE
1581
1582 EXTN(jconst_rgb_ycc_convert_mmx):
1583
1584 Index: simd/jimmxred.asm
1585 ===================================================================
1586 --- simd/jimmxred.asm (revision 677)
1587 +++ simd/jimmxred.asm (working copy)
1588 @@ -72,7 +72,7 @@
1589 SECTION SEG_CONST
1590
1591 alignz 16
1592 - global EXTN(jconst_idct_red_mmx)
1593 + global EXTN(jconst_idct_red_mmx) PRIVATE
1594
1595 EXTN(jconst_idct_red_mmx):
1596
1597 @@ -115,7 +115,7 @@
1598 ; JCOEF workspace[DCTSIZE2]
1599
1600 align 16
1601 - global EXTN(jsimd_idct_4x4_mmx)
1602 + global EXTN(jsimd_idct_4x4_mmx) PRIVATE
1603
1604 EXTN(jsimd_idct_4x4_mmx):
1605 push ebp
1606 @@ -503,7 +503,7 @@
1607 %define output_col(b) (b)+20 ; JDIMENSION output_col
1608
1609 align 16
1610 - global EXTN(jsimd_idct_2x2_mmx)
1611 + global EXTN(jsimd_idct_2x2_mmx) PRIVATE
1612
1613 EXTN(jsimd_idct_2x2_mmx):
1614 push ebp
1615 Index: simd/jsimdext.inc
1616 ===================================================================
1617 --- simd/jsimdext.inc (revision 677)
1618 +++ simd/jsimdext.inc (working copy)
1619 @@ -373,4 +373,14 @@
1620 ;
1621 %include "jsimdcfg.inc"
1622
1623 +; Begin chromium edits
1624 +%ifdef MACHO ; ----(nasm -fmacho -DMACHO ...)--------
1625 +%define PRIVATE :private_extern
1626 +%elifdef ELF ; ----(nasm -felf[64] -DELF ...)------------
1627 +%define PRIVATE :hidden
1628 +%else
1629 +%define PRIVATE
1630 +%endif
1631 +; End chromium edits
1632 +
1633 ; --------------------------------------------------------------------------
1634 Index: simd/jdclrmmx.asm
1635 ===================================================================
1636 --- simd/jdclrmmx.asm (revision 677)
1637 +++ simd/jdclrmmx.asm (working copy)
1638 @@ -40,7 +40,7 @@
1639 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr
1640
1641 align 16
1642 - global EXTN(jsimd_ycc_rgb_convert_mmx)
1643 + global EXTN(jsimd_ycc_rgb_convert_mmx) PRIVATE
1644
1645 EXTN(jsimd_ycc_rgb_convert_mmx):
1646 push ebp
1647 Index: simd/jccolss2.asm
1648 ===================================================================
1649 --- simd/jccolss2.asm (revision 677)
1650 +++ simd/jccolss2.asm (working copy)
1651 @@ -34,7 +34,7 @@
1652 SECTION SEG_CONST
1653
1654 alignz 16
1655 - global EXTN(jconst_rgb_ycc_convert_sse2)
1656 + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE
1657
1658 EXTN(jconst_rgb_ycc_convert_sse2):
1659
1499 Index: simd/jisseflt.asm 1660 Index: simd/jisseflt.asm
1500 =================================================================== 1661 ===================================================================
1501 --- simd/jisseflt.asm» (revision 64575) 1662 --- simd/jisseflt.asm» (revision 677)
1502 +++ simd/jisseflt.asm (working copy) 1663 +++ simd/jisseflt.asm (working copy)
1503 @@ -37,7 +37,7 @@ 1664 @@ -37,7 +37,7 @@
1504 SECTION SEG_CONST 1665 SECTION SEG_CONST
1505 1666
1506 alignz 16 1667 alignz 16
1507 - global EXTN(jconst_idct_float_sse) 1668 - global EXTN(jconst_idct_float_sse)
1508 + global EXTN(jconst_idct_float_sse) PRIVATE 1669 + global EXTN(jconst_idct_float_sse) PRIVATE
1509 1670
1510 EXTN(jconst_idct_float_sse): 1671 EXTN(jconst_idct_float_sse):
1511 1672
1512 @@ -73,7 +73,7 @@ 1673 @@ -73,7 +73,7 @@
1513 ; FAST_FLOAT workspace[DCTSIZE2] 1674 ; FAST_FLOAT workspace[DCTSIZE2]
1514 1675
1515 align 16 1676 align 16
1516 - global EXTN(jsimd_idct_float_sse) 1677 - global EXTN(jsimd_idct_float_sse)
1517 + global EXTN(jsimd_idct_float_sse) PRIVATE 1678 + global EXTN(jsimd_idct_float_sse) PRIVATE
1518 1679
1519 EXTN(jsimd_idct_float_sse): 1680 EXTN(jsimd_idct_float_sse):
1520 push ebp 1681 push ebp
1521 Index: simd/jcqnts2i-64.asm 1682 Index: simd/jcqnts2i-64.asm
1522 =================================================================== 1683 ===================================================================
1523 --- simd/jcqnts2i-64.asm» (revision 64575) 1684 --- simd/jcqnts2i-64.asm» (revision 677)
1524 +++ simd/jcqnts2i-64.asm (working copy) 1685 +++ simd/jcqnts2i-64.asm (working copy)
1525 @@ -36,7 +36,7 @@ 1686 @@ -36,7 +36,7 @@
1526 ; r12 = DCTELEM * workspace 1687 ; r12 = DCTELEM * workspace
1527 1688
1528 align 16 1689 align 16
1529 - global EXTN(jsimd_convsamp_sse2) 1690 - global EXTN(jsimd_convsamp_sse2)
1530 + global EXTN(jsimd_convsamp_sse2) PRIVATE 1691 + global EXTN(jsimd_convsamp_sse2) PRIVATE
1531 1692
1532 EXTN(jsimd_convsamp_sse2): 1693 EXTN(jsimd_convsamp_sse2):
1533 push rbp 1694 push rbp
1534 @@ -112,7 +112,7 @@ 1695 @@ -112,7 +112,7 @@
1535 ; r12 = DCTELEM * workspace 1696 ; r12 = DCTELEM * workspace
1536 1697
1537 align 16 1698 align 16
1538 - global EXTN(jsimd_quantize_sse2) 1699 - global EXTN(jsimd_quantize_sse2)
1539 + global EXTN(jsimd_quantize_sse2) PRIVATE 1700 + global EXTN(jsimd_quantize_sse2) PRIVATE
1540 1701
1541 EXTN(jsimd_quantize_sse2): 1702 EXTN(jsimd_quantize_sse2):
1542 push rbp 1703 push rbp
1543 Index: simd/jcclrss2.asm
1544 ===================================================================
1545 --- simd/jcclrss2.asm (revision 64575)
1546 +++ simd/jcclrss2.asm (working copy)
1547 @@ -16,8 +16,12 @@
1548 %include "jcolsamp.inc"
1549
1550 ; --------------------------------------------------------------------------
1551 +%ifndef NEED_SECTION
1552 +%define NEED_SECTION
1553 SECTION SEG_TEXT
1554 BITS 32
1555 +%endif
1556 +
1557 ;
1558 ; Convert some rows of samples to the output colorspace.
1559 ;
1560 @@ -40,7 +44,7 @@
1561
1562 align 16
1563
1564 - global EXTN(jsimd_rgb_ycc_convert_sse2)
1565 + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE
1566
1567 EXTN(jsimd_rgb_ycc_convert_sse2):
1568 push ebp
1569 Index: simd/jiss2red.asm
1570 ===================================================================
1571 --- simd/jiss2red.asm (revision 64575)
1572 +++ simd/jiss2red.asm (working copy)
1573 @@ -72,7 +72,7 @@
1574 SECTION SEG_CONST
1575
1576 alignz 16
1577 - global EXTN(jconst_idct_red_sse2)
1578 + global EXTN(jconst_idct_red_sse2) PRIVATE
1579
1580 EXTN(jconst_idct_red_sse2):
1581
1582 @@ -113,7 +113,7 @@
1583 %define WK_NUM 2
1584
1585 align 16
1586 - global EXTN(jsimd_idct_4x4_sse2)
1587 + global EXTN(jsimd_idct_4x4_sse2) PRIVATE
1588
1589 EXTN(jsimd_idct_4x4_sse2):
1590 push ebp
1591 @@ -424,7 +424,7 @@
1592 %define output_col(b) (b)+20 ; JDIMENSION output_col
1593
1594 align 16
1595 - global EXTN(jsimd_idct_2x2_sse2)
1596 + global EXTN(jsimd_idct_2x2_sse2) PRIVATE
1597
1598 EXTN(jsimd_idct_2x2_sse2):
1599 push ebp
1600 Index: simd/jdclrss2.asm 1704 Index: simd/jdclrss2.asm
1601 =================================================================== 1705 ===================================================================
1602 --- simd/jdclrss2.asm» (revision 64575) 1706 --- simd/jdclrss2.asm» (revision 677)
1603 +++ simd/jdclrss2.asm (working copy) 1707 +++ simd/jdclrss2.asm (working copy)
1604 @@ -19,8 +19,12 @@ 1708 @@ -40,7 +40,7 @@
1605 %include "jcolsamp.inc"
1606 » » » »
1607 ; --------------------------------------------------------------------------
1608 +%ifndef NEED_SECTION
1609 +%define NEED_SECTION
1610 » SECTION»SEG_TEXT
1611 » BITS» 32
1612 +%endif
1613 +
1614 ;
1615 ; Convert some rows of samples to the output colorspace.
1616 ;
1617 @@ -42,7 +46,7 @@
1618 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr 1709 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr
1619 1710
1620 align 16 1711 align 16
1621 - global EXTN(jsimd_ycc_rgb_convert_sse2) 1712 - global EXTN(jsimd_ycc_rgb_convert_sse2)
1622 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE 1713 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE
1623 1714
1624 EXTN(jsimd_ycc_rgb_convert_sse2): 1715 EXTN(jsimd_ycc_rgb_convert_sse2):
1625 push ebp 1716 push ebp
1626 @@ -304,6 +308,41 @@ 1717 @@ -302,6 +302,41 @@
1627 movdqa xmmA,xmmD 1718 movdqa xmmA,xmmD
1628 sub ecx, byte SIZEOF_XMMWORD 1719 sub ecx, byte SIZEOF_XMMWORD
1629 .column_st15: 1720 .column_st15:
1630 +%ifdef STRICT_MEMORY_ACCESS 1721 +%ifdef STRICT_MEMORY_ACCESS
1631 + ; Store the lower 8 bytes of xmmA to the output when it has enough 1722 + ; Store the lower 8 bytes of xmmA to the output when it has enough
1632 + ; space. 1723 + ; space.
1633 + cmp ecx, byte SIZEOF_MMWORD 1724 + cmp ecx, byte SIZEOF_MMWORD
1634 + jb short .column_st7 1725 + jb short .column_st7
1635 + movq MMWORD [edi], xmmA 1726 + movq MMWORD [edi], xmmA
1636 + add edi, byte SIZEOF_MMWORD 1727 + add edi, byte SIZEOF_MMWORD
(...skipping 21 matching lines...) Expand all
1658 +.column_st1: 1749 +.column_st1:
1659 + ; Store the lower 1 byte of eax to the output when it has enough 1750 + ; Store the lower 1 byte of eax to the output when it has enough
1660 + ; space. 1751 + ; space.
1661 + test ecx, ecx 1752 + test ecx, ecx
1662 + jz short .nextrow 1753 + jz short .nextrow
1663 + mov BYTE [edi], al 1754 + mov BYTE [edi], al
1664 +%else 1755 +%else
1665 mov eax,ecx 1756 mov eax,ecx
1666 xor ecx, byte 0x0F 1757 xor ecx, byte 0x0F
1667 shl ecx, 2 1758 shl ecx, 2
1668 @@ -343,6 +382,7 @@ 1759 @@ -341,6 +376,7 @@
1669 por xmmE,xmmC 1760 por xmmE,xmmC
1670 .adj0: ; ---------------- 1761 .adj0: ; ----------------
1671 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA 1762 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA
1672 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 1763 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
1673 1764
1674 %else ; RGB_PIXELSIZE == 4 ; ----------- 1765 %else ; RGB_PIXELSIZE == 4 ; -----------
1675 1766
1676 @@ -428,6 +468,22 @@ 1767 @@ -426,6 +462,22 @@
1677 movdqa xmmA,xmmD 1768 movdqa xmmA,xmmD
1678 sub ecx, byte SIZEOF_XMMWORD/4 1769 sub ecx, byte SIZEOF_XMMWORD/4
1679 .column_st15: 1770 .column_st15:
1680 +%ifdef STRICT_MEMORY_ACCESS 1771 +%ifdef STRICT_MEMORY_ACCESS
1681 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough 1772 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough
1682 + ; space. 1773 + ; space.
1683 + cmp ecx, byte SIZEOF_XMMWORD/8 1774 + cmp ecx, byte SIZEOF_XMMWORD/8
1684 + jb short .column_st7 1775 + jb short .column_st7
1685 + movq MMWORD [edi], xmmA 1776 + movq MMWORD [edi], xmmA
1686 + add edi, byte SIZEOF_XMMWORD/8*4 1777 + add edi, byte SIZEOF_XMMWORD/8*4
1687 + sub ecx, byte SIZEOF_XMMWORD/8 1778 + sub ecx, byte SIZEOF_XMMWORD/8
1688 + psrldq xmmA, SIZEOF_XMMWORD/8*4 1779 + psrldq xmmA, SIZEOF_XMMWORD/8*4
1689 +.column_st7: 1780 +.column_st7:
1690 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough 1781 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough
1691 + ; space. 1782 + ; space.
1692 + test ecx, ecx 1783 + test ecx, ecx
1693 + jz short .nextrow 1784 + jz short .nextrow
1694 + movd DWORD [edi], xmmA 1785 + movd DWORD [edi], xmmA
1695 +%else 1786 +%else
1696 cmp ecx, byte SIZEOF_XMMWORD/16 1787 cmp ecx, byte SIZEOF_XMMWORD/16
1697 jb short .nextrow 1788 jb short .nextrow
1698 mov eax,ecx 1789 mov eax,ecx
1699 @@ -467,6 +523,7 @@ 1790 @@ -465,6 +517,7 @@
1700 por xmmE,xmmG 1791 por xmmE,xmmG
1701 .adj0: ; ---------------- 1792 .adj0: ; ----------------
1702 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA 1793 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA
1703 +%endif ; STRICT_MEMORY_ACCESS ; --------------- 1794 +%endif ; STRICT_MEMORY_ACCESS ; ---------------
1704 1795
1705 %endif ; RGB_PIXELSIZE ; --------------- 1796 %endif ; RGB_PIXELSIZE ; ---------------
1706 1797
1707 Index: simd/jdmerss2.asm
1708 ===================================================================
1709 --- simd/jdmerss2.asm (revision 64575)
1710 +++ simd/jdmerss2.asm (working copy)
1711 @@ -35,7 +35,7 @@
1712 SECTION SEG_CONST
1713
1714 alignz 16
1715 - global EXTN(jconst_merged_upsample_sse2)
1716 + global EXTN(jconst_merged_upsample_sse2) PRIVATE
1717
1718 EXTN(jconst_merged_upsample_sse2):
1719
1720 Index: simd/jcqntsse.asm 1798 Index: simd/jcqntsse.asm
1721 =================================================================== 1799 ===================================================================
1722 --- simd/jcqntsse.asm» (revision 64575) 1800 --- simd/jcqntsse.asm» (revision 677)
1723 +++ simd/jcqntsse.asm (working copy) 1801 +++ simd/jcqntsse.asm (working copy)
1724 @@ -35,7 +35,7 @@ 1802 @@ -35,7 +35,7 @@
1725 %define workspace ebp+16 ; FAST_FLOAT * workspace 1803 %define workspace ebp+16 ; FAST_FLOAT * workspace
1726 1804
1727 align 16 1805 align 16
1728 - global EXTN(jsimd_convsamp_float_sse) 1806 - global EXTN(jsimd_convsamp_float_sse)
1729 + global EXTN(jsimd_convsamp_float_sse) PRIVATE 1807 + global EXTN(jsimd_convsamp_float_sse) PRIVATE
1730 1808
1731 EXTN(jsimd_convsamp_float_sse): 1809 EXTN(jsimd_convsamp_float_sse):
1732 push ebp 1810 push ebp
1733 @@ -138,7 +138,7 @@ 1811 @@ -138,7 +138,7 @@
1734 %define workspace ebp+16 ; FAST_FLOAT * workspace 1812 %define workspace ebp+16 ; FAST_FLOAT * workspace
1735 1813
1736 align 16 1814 align 16
1737 - global EXTN(jsimd_quantize_float_sse) 1815 - global EXTN(jsimd_quantize_float_sse)
1738 + global EXTN(jsimd_quantize_float_sse) PRIVATE 1816 + global EXTN(jsimd_quantize_float_sse) PRIVATE
1739 1817
1740 EXTN(jsimd_quantize_float_sse): 1818 EXTN(jsimd_quantize_float_sse):
1741 push ebp 1819 push ebp
1742 Index: simd/jfss2fst-64.asm
1743 ===================================================================
1744 --- simd/jfss2fst-64.asm (revision 64575)
1745 +++ simd/jfss2fst-64.asm (working copy)
1746 @@ -53,7 +53,7 @@
1747 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
1748
1749 alignz 16
1750 - global EXTN(jconst_fdct_ifast_sse2)
1751 + global EXTN(jconst_fdct_ifast_sse2) PRIVATE
1752
1753 EXTN(jconst_fdct_ifast_sse2):
1754
1755 @@ -80,7 +80,7 @@
1756 %define WK_NUM 2
1757
1758 align 16
1759 - global EXTN(jsimd_fdct_ifast_sse2)
1760 + global EXTN(jsimd_fdct_ifast_sse2) PRIVATE
1761
1762 EXTN(jsimd_fdct_ifast_sse2):
1763 push rbp
1764 Index: simd/jiss2int-64.asm 1820 Index: simd/jiss2int-64.asm
1765 =================================================================== 1821 ===================================================================
1766 --- simd/jiss2int-64.asm» (revision 64575) 1822 --- simd/jiss2int-64.asm» (revision 677)
1767 +++ simd/jiss2int-64.asm (working copy) 1823 +++ simd/jiss2int-64.asm (working copy)
1768 @@ -67,7 +67,7 @@ 1824 @@ -67,7 +67,7 @@
1769 SECTION SEG_CONST 1825 SECTION SEG_CONST
1770 1826
1771 alignz 16 1827 alignz 16
1772 - global EXTN(jconst_idct_islow_sse2) 1828 - global EXTN(jconst_idct_islow_sse2)
1773 + global EXTN(jconst_idct_islow_sse2) PRIVATE 1829 + global EXTN(jconst_idct_islow_sse2) PRIVATE
1774 1830
1775 EXTN(jconst_idct_islow_sse2): 1831 EXTN(jconst_idct_islow_sse2):
1776 1832
1777 @@ -106,7 +106,7 @@ 1833 @@ -106,7 +106,7 @@
1778 %define WK_NUM 12 1834 %define WK_NUM 12
1779 1835
1780 align 16 1836 align 16
1781 - global EXTN(jsimd_idct_islow_sse2) 1837 - global EXTN(jsimd_idct_islow_sse2)
1782 + global EXTN(jsimd_idct_islow_sse2) PRIVATE 1838 + global EXTN(jsimd_idct_islow_sse2) PRIVATE
1783 1839
1784 EXTN(jsimd_idct_islow_sse2): 1840 EXTN(jsimd_idct_islow_sse2):
1785 push rbp 1841 push rbp
1786 Index: simd/jfmmxfst.asm 1842 Index: simd/jfmmxfst.asm
1787 =================================================================== 1843 ===================================================================
1788 --- simd/jfmmxfst.asm» (revision 64575) 1844 --- simd/jfmmxfst.asm» (revision 677)
1789 +++ simd/jfmmxfst.asm (working copy) 1845 +++ simd/jfmmxfst.asm (working copy)
1790 @@ -52,7 +52,7 @@ 1846 @@ -52,7 +52,7 @@
1791 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) 1847 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS)
1792 1848
1793 alignz 16 1849 alignz 16
1794 - global EXTN(jconst_fdct_ifast_mmx) 1850 - global EXTN(jconst_fdct_ifast_mmx)
1795 + global EXTN(jconst_fdct_ifast_mmx) PRIVATE 1851 + global EXTN(jconst_fdct_ifast_mmx) PRIVATE
1796 1852
1797 EXTN(jconst_fdct_ifast_mmx): 1853 EXTN(jconst_fdct_ifast_mmx):
1798 1854
1799 @@ -80,7 +80,7 @@ 1855 @@ -80,7 +80,7 @@
1800 %define WK_NUM 2 1856 %define WK_NUM 2
1801 1857
1802 align 16 1858 align 16
1803 - global EXTN(jsimd_fdct_ifast_mmx) 1859 - global EXTN(jsimd_fdct_ifast_mmx)
1804 + global EXTN(jsimd_fdct_ifast_mmx) PRIVATE 1860 + global EXTN(jsimd_fdct_ifast_mmx) PRIVATE
1805 1861
1806 EXTN(jsimd_fdct_ifast_mmx): 1862 EXTN(jsimd_fdct_ifast_mmx):
1807 push ebp 1863 push ebp
OLDNEW
« no previous file with comments | « third_party/libjpeg_turbo/example.c ('k') | third_party/libjpeg_turbo/jaricom.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698