| Index: jmorecfg.h |
| =================================================================== |
| --- jmorecfg.h (revision 64575) |
| +++ jmorecfg.h (working copy) |
| @@ -159,8 +159,10 @@ |
| /* INT32 must hold at least signed 32-bit values. */ |
| |
| #ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ |
| +#ifndef _BASETSD_H_ /* basetsd.h correctly defines INT32 */ |
| typedef long INT32; |
| #endif |
| +#endif |
| |
| /* Datatype used for image dimensions. The JPEG standard only supports |
| * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore |
| @@ -210,11 +212,13 @@ |
| * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. |
| */ |
| |
| +#ifndef FAR |
| #ifdef NEED_FAR_POINTERS |
| #define FAR far |
| #else |
| #define FAR |
| #endif |
| +#endif |
| |
| |
| /* |
| Index: jpeglib.h |
| =================================================================== |
| --- jpeglib.h (revision 64575) |
| +++ jpeglib.h (working copy) |
| @@ -18,6 +18,10 @@ |
| extern "C" { |
| #endif |
| |
| +/* Begin chromium edits */ |
| +#include "jpeglibmangler.h" |
| +/* End chromium edits */ |
| + |
| /* |
| * First we include the configuration files that record how this |
| * installation of the JPEG library is set up. jconfig.h can be |
| Index: jpeglibmangler.h |
| =================================================================== |
| --- jpeglibmangler.h (revision 0) |
| +++ jpeglibmangler.h (revision 78340) |
| @@ -0,0 +1,113 @@ |
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ |
| +#define THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ |
| + |
| +// Mangle all externally visible function names so we can build our own libjpeg |
| +// without system libraries trying to use it. |
| + |
| +#define jpeg_make_c_derived_tbl chromium_jpeg_make_c_derived_tbl |
| +#define jpeg_gen_optimal_table chromium_jpeg_gen_optimal_table |
| +#define jpeg_make_d_derived_tbl chromium_jpeg_make_d_derived_tbl |
| +#define jpeg_fill_bit_buffer chromium_jpeg_fill_bit_buffer |
| +#define jpeg_huff_decode chromium_jpeg_huff_decode |
| +#define jpeg_fdct_islow chromium_jpeg_fdct_islow |
| +#define jpeg_fdct_ifast chromium_jpeg_fdct_ifast |
| +#define jpeg_fdct_float chromium_jpeg_fdct_float |
| +#define jpeg_idct_islow chromium_jpeg_idct_islow |
| +#define jpeg_idct_ifast chromium_jpeg_idct_ifast |
| +#define jpeg_idct_float chromium_jpeg_idct_float |
| +#define jpeg_idct_4x4 chromium_jpeg_idct_4x4 |
| +#define jpeg_idct_2x2 chromium_jpeg_idct_2x2 |
| +#define jpeg_idct_1x1 chromium_jpeg_idct_1x1 |
| +#define jinit_compress_master chromium_jinit_compress_master |
| +#define jinit_c_master_control chromium_jinit_c_master_control |
| +#define jinit_c_main_controller chromium_jinit_c_main_controller |
| +#define jinit_c_prep_controller chromium_jinit_c_prep_controller |
| +#define jinit_c_coef_controller chromium_jinit_c_coef_controller |
| +#define jinit_color_converter chromium_jinit_color_converter |
| +#define jinit_downsampler chromium_jinit_downsampler |
| +#define jinit_forward_dct chromium_jinit_forward_dct |
| +#define jinit_huff_encoder chromium_jinit_huff_encoder |
| +#define jinit_phuff_encoder chromium_jinit_phuff_encoder |
| +#define jinit_marker_writer chromium_jinit_marker_writer |
| +#define jinit_master_decompress chromium_jinit_master_decompress |
| +#define jinit_d_main_controller chromium_jinit_d_main_controller |
| +#define jinit_d_coef_controller chromium_jinit_d_coef_controller |
| +#define jinit_d_post_controller chromium_jinit_d_post_controller |
| +#define jinit_input_controller chromium_jinit_input_controller |
| +#define jinit_marker_reader chromium_jinit_marker_reader |
| +#define jinit_huff_decoder chromium_jinit_huff_decoder |
| +#define jinit_phuff_decoder chromium_jinit_phuff_decoder |
| +#define jinit_inverse_dct chromium_jinit_inverse_dct |
| +#define jinit_upsampler chromium_jinit_upsampler |
| +#define jinit_color_deconverter chromium_jinit_color_deconverter |
| +#define jinit_1pass_quantizer chromium_jinit_1pass_quantizer |
| +#define jinit_2pass_quantizer chromium_jinit_2pass_quantizer |
| +#define jinit_merged_upsampler chromium_jinit_merged_upsampler |
| +#define jinit_memory_mgr chromium_jinit_memory_mgr |
| +#define jdiv_round_up chromium_jdiv_round_up |
| +#define jround_up chromium_jround_up |
| +#define jcopy_sample_rows chromium_jcopy_sample_rows |
| +#define jcopy_block_row chromium_jcopy_block_row |
| +#define jzero_far chromium_jzero_far |
| +#define jpeg_std_error chromium_jpeg_std_error |
| +#define jpeg_CreateCompress chromium_jpeg_CreateCompress |
| +#define jpeg_CreateDecompress chromium_jpeg_CreateDecompress |
| +#define jpeg_destroy_compress chromium_jpeg_destroy_compress |
| +#define jpeg_destroy_decompress chromium_jpeg_destroy_decompress |
| +#define jpeg_stdio_dest chromium_jpeg_stdio_dest |
| +#define jpeg_stdio_src chromium_jpeg_stdio_src |
| +#define jpeg_set_defaults chromium_jpeg_set_defaults |
| +#define jpeg_set_colorspace chromium_jpeg_set_colorspace |
| +#define jpeg_default_colorspace chromium_jpeg_default_colorspace |
| +#define jpeg_set_quality chromium_jpeg_set_quality |
| +#define jpeg_set_linear_quality chromium_jpeg_set_linear_quality |
| +#define jpeg_add_quant_table chromium_jpeg_add_quant_table |
| +#define jpeg_quality_scaling chromium_jpeg_quality_scaling |
| +#define jpeg_simple_progression chromium_jpeg_simple_progression |
| +#define jpeg_suppress_tables chromium_jpeg_suppress_tables |
| +#define jpeg_alloc_quant_table chromium_jpeg_alloc_quant_table |
| +#define jpeg_alloc_huff_table chromium_jpeg_alloc_huff_table |
| +#define jpeg_start_compress chromium_jpeg_start_compress |
| +#define jpeg_write_scanlines chromium_jpeg_write_scanlines |
| +#define jpeg_finish_compress chromium_jpeg_finish_compress |
| +#define jpeg_write_raw_data chromium_jpeg_write_raw_data |
| +#define jpeg_write_marker chromium_jpeg_write_marker |
| +#define jpeg_write_m_header chromium_jpeg_write_m_header |
| +#define jpeg_write_m_byte chromium_jpeg_write_m_byte |
| +#define jpeg_write_tables chromium_jpeg_write_tables |
| +#define jpeg_read_header chromium_jpeg_read_header |
| +#define jpeg_start_decompress chromium_jpeg_start_decompress |
| +#define jpeg_read_scanlines chromium_jpeg_read_scanlines |
| +#define jpeg_finish_decompress chromium_jpeg_finish_decompress |
| +#define jpeg_read_raw_data chromium_jpeg_read_raw_data |
| +#define jpeg_has_multiple_scans chromium_jpeg_has_multiple_scans |
| +#define jpeg_start_output chromium_jpeg_start_output |
| +#define jpeg_finish_output chromium_jpeg_finish_output |
| +#define jpeg_input_complete chromium_jpeg_input_complete |
| +#define jpeg_new_colormap chromium_jpeg_new_colormap |
| +#define jpeg_consume_input chromium_jpeg_consume_input |
| +#define jpeg_calc_output_dimensions chromium_jpeg_calc_output_dimensions |
| +#define jpeg_save_markers chromium_jpeg_save_markers |
| +#define jpeg_set_marker_processor chromium_jpeg_set_marker_processor |
| +#define jpeg_read_coefficients chromium_jpeg_read_coefficients |
| +#define jpeg_write_coefficients chromium_jpeg_write_coefficients |
| +#define jpeg_copy_critical_parameters chromium_jpeg_copy_critical_parameters |
| +#define jpeg_abort_compress chromium_jpeg_abort_compress |
| +#define jpeg_abort_decompress chromium_jpeg_abort_decompress |
| +#define jpeg_abort chromium_jpeg_abort |
| +#define jpeg_destroy chromium_jpeg_destroy |
| +#define jpeg_resync_to_restart chromium_jpeg_resync_to_restart |
| +#define jpeg_get_small chromium_jpeg_get_small |
| +#define jpeg_free_small chromium_jpeg_free_small |
| +#define jpeg_get_large chromium_jpeg_get_large |
| +#define jpeg_free_large chromium_jpeg_free_large |
| +#define jpeg_mem_available chromium_jpeg_mem_available |
| +#define jpeg_open_backing_store chromium_jpeg_open_backing_store |
| +#define jpeg_mem_init chromium_jpeg_mem_init |
| +#define jpeg_mem_term chromium_jpeg_mem_term |
| + |
| +#endif // THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ |
| Index: jdhuff.c |
| =================================================================== |
| --- jdhuff.c (revision 64575) |
| +++ jdhuff.c (working copy) |
| @@ -658,7 +658,7 @@ |
| symbol |= GET_BITS(1); \ |
| size++; \ |
| } \ |
| - symbol = htbl->pub->huffval[ (int) (symbol + htbl->valoffset[size]) ]; \ |
| + symbol = htbl->pub->huffval[ (int) (symbol + htbl->valoffset[size]) & 0xFF ]; \ |
| } \ |
| } |
| Index: simd/jcqntmmx.asm |
| =================================================================== |
| --- simd/jcqntmmx.asm (revision 64575) |
| +++ simd/jcqntmmx.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| %define workspace ebp+16 ; DCTELEM * workspace |
| |
| align 16 |
| - global EXTN(jsimd_convsamp_mmx) |
| + global EXTN(jsimd_convsamp_mmx) PRIVATE |
| |
| EXTN(jsimd_convsamp_mmx): |
| push ebp |
| @@ -140,7 +140,7 @@ |
| %define workspace ebp+16 ; DCTELEM * workspace |
| |
| align 16 |
| - global EXTN(jsimd_quantize_mmx) |
| + global EXTN(jsimd_quantize_mmx) PRIVATE |
| |
| EXTN(jsimd_quantize_mmx): |
| push ebp |
| Index: simd/jimmxfst.asm |
| =================================================================== |
| --- simd/jimmxfst.asm (revision 64575) |
| +++ simd/jimmxfst.asm (working copy) |
| @@ -59,7 +59,7 @@ |
| %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| |
| alignz 16 |
| - global EXTN(jconst_idct_ifast_mmx) |
| + global EXTN(jconst_idct_ifast_mmx) PRIVATE |
| |
| EXTN(jconst_idct_ifast_mmx): |
| |
| @@ -94,7 +94,7 @@ |
| ; JCOEF workspace[DCTSIZE2] |
| |
| align 16 |
| - global EXTN(jsimd_idct_ifast_mmx) |
| + global EXTN(jsimd_idct_ifast_mmx) PRIVATE |
| |
| EXTN(jsimd_idct_ifast_mmx): |
| push ebp |
| Index: simd/jfss2fst.asm |
| =================================================================== |
| --- simd/jfss2fst.asm (revision 64575) |
| +++ simd/jfss2fst.asm (working copy) |
| @@ -52,7 +52,7 @@ |
| %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_ifast_sse2) |
| + global EXTN(jconst_fdct_ifast_sse2) PRIVATE |
| |
| EXTN(jconst_fdct_ifast_sse2): |
| |
| @@ -80,7 +80,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_ifast_sse2) |
| + global EXTN(jsimd_fdct_ifast_sse2) PRIVATE |
| |
| EXTN(jsimd_fdct_ifast_sse2): |
| push ebp |
| Index: simd/jiss2fst.asm |
| =================================================================== |
| --- simd/jiss2fst.asm (revision 64575) |
| +++ simd/jiss2fst.asm (working copy) |
| @@ -59,7 +59,7 @@ |
| %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| |
| alignz 16 |
| - global EXTN(jconst_idct_ifast_sse2) |
| + global EXTN(jconst_idct_ifast_sse2) PRIVATE |
| |
| EXTN(jconst_idct_ifast_sse2): |
| |
| @@ -92,7 +92,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_idct_ifast_sse2) |
| + global EXTN(jsimd_idct_ifast_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_ifast_sse2): |
| push ebp |
| Index: simd/jdcolss2-64.asm |
| =================================================================== |
| --- simd/jdcolss2-64.asm (revision 64575) |
| +++ simd/jdcolss2-64.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_ycc_rgb_convert_sse2) |
| + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE |
| |
| EXTN(jconst_ycc_rgb_convert_sse2): |
| |
| Index: simd/jf3dnflt.asm |
| =================================================================== |
| --- simd/jf3dnflt.asm (revision 64575) |
| +++ simd/jf3dnflt.asm (working copy) |
| @@ -27,7 +27,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_float_3dnow) |
| + global EXTN(jconst_fdct_float_3dnow) PRIVATE |
| |
| EXTN(jconst_fdct_float_3dnow): |
| |
| @@ -55,7 +55,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_float_3dnow) |
| + global EXTN(jsimd_fdct_float_3dnow) PRIVATE |
| |
| EXTN(jsimd_fdct_float_3dnow): |
| push ebp |
| Index: simd/jcclrss2-64.asm |
| =================================================================== |
| --- simd/jcclrss2-64.asm (revision 64575) |
| +++ simd/jcclrss2-64.asm (working copy) |
| @@ -17,8 +17,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 64 |
| +%endif |
| + |
| ; |
| ; Convert some rows of samples to the output colorspace. |
| ; |
| @@ -39,7 +43,7 @@ |
| |
| align 16 |
| |
| - global EXTN(jsimd_rgb_ycc_convert_sse2) |
| + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE |
| |
| EXTN(jsimd_rgb_ycc_convert_sse2): |
| push rbp |
| Index: simd/jiss2red-64.asm |
| =================================================================== |
| --- simd/jiss2red-64.asm (revision 64575) |
| +++ simd/jiss2red-64.asm (working copy) |
| @@ -73,7 +73,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_red_sse2) |
| + global EXTN(jconst_idct_red_sse2) PRIVATE |
| |
| EXTN(jconst_idct_red_sse2): |
| |
| @@ -114,7 +114,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_idct_4x4_sse2) |
| + global EXTN(jsimd_idct_4x4_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_4x4_sse2): |
| push rbp |
| @@ -413,7 +413,7 @@ |
| ; r13 = JDIMENSION output_col |
| |
| align 16 |
| - global EXTN(jsimd_idct_2x2_sse2) |
| + global EXTN(jsimd_idct_2x2_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_2x2_sse2): |
| push rbp |
| Index: simd/jdsamss2-64.asm |
| =================================================================== |
| --- simd/jdsamss2-64.asm (revision 64575) |
| +++ simd/jdsamss2-64.asm (working copy) |
| @@ -23,7 +23,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fancy_upsample_sse2) |
| + global EXTN(jconst_fancy_upsample_sse2) PRIVATE |
| |
| EXTN(jconst_fancy_upsample_sse2): |
| |
| @@ -59,7 +59,7 @@ |
| ; r13 = JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_fancy_upsample_sse2) |
| + global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_fancy_upsample_sse2): |
| push rbp |
| @@ -201,7 +201,7 @@ |
| %define WK_NUM 4 |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_fancy_upsample_sse2) |
| + global EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_fancy_upsample_sse2): |
| push rbp |
| @@ -498,7 +498,7 @@ |
| ; r13 = JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_upsample_sse2) |
| + global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_upsample_sse2): |
| push rbp |
| @@ -587,7 +587,7 @@ |
| ; r13 = JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_upsample_sse2) |
| + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_upsample_sse2): |
| push rbp |
| Index: simd/ji3dnflt.asm |
| =================================================================== |
| --- simd/ji3dnflt.asm (revision 64575) |
| +++ simd/ji3dnflt.asm (working copy) |
| @@ -27,7 +27,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_float_3dnow) |
| + global EXTN(jconst_idct_float_3dnow) PRIVATE |
| |
| EXTN(jconst_idct_float_3dnow): |
| |
| @@ -63,7 +63,7 @@ |
| ; FAST_FLOAT workspace[DCTSIZE2] |
| |
| align 16 |
| - global EXTN(jsimd_idct_float_3dnow) |
| + global EXTN(jsimd_idct_float_3dnow) PRIVATE |
| |
| EXTN(jsimd_idct_float_3dnow): |
| push ebp |
| Index: simd/jsimdcpu.asm |
| =================================================================== |
| --- simd/jsimdcpu.asm (revision 64575) |
| +++ simd/jsimdcpu.asm (working copy) |
| @@ -29,7 +29,7 @@ |
| ; |
| |
| align 16 |
| - global EXTN(jpeg_simd_cpu_support) |
| + global EXTN(jpeg_simd_cpu_support) PRIVATE |
| |
| EXTN(jpeg_simd_cpu_support): |
| push ebx |
| Index: simd/jcsammmx.asm |
| =================================================================== |
| --- simd/jcsammmx.asm (revision 64575) |
| +++ simd/jcsammmx.asm (working copy) |
| @@ -40,7 +40,7 @@ |
| %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_downsample_mmx) |
| + global EXTN(jsimd_h2v1_downsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v1_downsample_mmx): |
| push ebp |
| @@ -182,7 +182,7 @@ |
| %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_downsample_mmx) |
| + global EXTN(jsimd_h2v2_downsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v2_downsample_mmx): |
| push ebp |
| Index: simd/jdsammmx.asm |
| =================================================================== |
| --- simd/jdsammmx.asm (revision 64575) |
| +++ simd/jdsammmx.asm (working copy) |
| @@ -22,7 +22,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fancy_upsample_mmx) |
| + global EXTN(jconst_fancy_upsample_mmx) PRIVATE |
| |
| EXTN(jconst_fancy_upsample_mmx): |
| |
| @@ -58,7 +58,7 @@ |
| %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_fancy_upsample_mmx) |
| + global EXTN(jsimd_h2v1_fancy_upsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v1_fancy_upsample_mmx): |
| push ebp |
| @@ -216,7 +216,7 @@ |
| %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_fancy_upsample_mmx) |
| + global EXTN(jsimd_h2v2_fancy_upsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v2_fancy_upsample_mmx): |
| push ebp |
| @@ -542,7 +542,7 @@ |
| %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_upsample_mmx) |
| + global EXTN(jsimd_h2v1_upsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v1_upsample_mmx): |
| push ebp |
| @@ -643,7 +643,7 @@ |
| %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_upsample_mmx) |
| + global EXTN(jsimd_h2v2_upsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v2_upsample_mmx): |
| push ebp |
| Index: simd/jdmerss2-64.asm |
| =================================================================== |
| --- simd/jdmerss2-64.asm (revision 64575) |
| +++ simd/jdmerss2-64.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_merged_upsample_sse2) |
| + global EXTN(jconst_merged_upsample_sse2) PRIVATE |
| |
| EXTN(jconst_merged_upsample_sse2): |
| |
| Index: simd/jcqnts2f-64.asm |
| =================================================================== |
| --- simd/jcqnts2f-64.asm (revision 64575) |
| +++ simd/jcqnts2f-64.asm (working copy) |
| @@ -36,7 +36,7 @@ |
| ; r12 = FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_convsamp_float_sse2) |
| + global EXTN(jsimd_convsamp_float_sse2) PRIVATE |
| |
| EXTN(jsimd_convsamp_float_sse2): |
| push rbp |
| @@ -110,7 +110,7 @@ |
| ; r12 = FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_quantize_float_sse2) |
| + global EXTN(jsimd_quantize_float_sse2) PRIVATE |
| |
| EXTN(jsimd_quantize_float_sse2): |
| push rbp |
| Index: simd/jcqnt3dn.asm |
| =================================================================== |
| --- simd/jcqnt3dn.asm (revision 64575) |
| +++ simd/jcqnt3dn.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| %define workspace ebp+16 ; FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_convsamp_float_3dnow) |
| + global EXTN(jsimd_convsamp_float_3dnow) PRIVATE |
| |
| EXTN(jsimd_convsamp_float_3dnow): |
| push ebp |
| @@ -138,7 +138,7 @@ |
| %define workspace ebp+16 ; FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_quantize_float_3dnow) |
| + global EXTN(jsimd_quantize_float_3dnow) PRIVATE |
| |
| EXTN(jsimd_quantize_float_3dnow): |
| push ebp |
| Index: simd/jcsamss2.asm |
| =================================================================== |
| --- simd/jcsamss2.asm (revision 64575) |
| +++ simd/jcsamss2.asm (working copy) |
| @@ -40,7 +40,7 @@ |
| %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_downsample_sse2) |
| + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_downsample_sse2): |
| push ebp |
| @@ -195,7 +195,7 @@ |
| %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_downsample_sse2) |
| + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_downsample_sse2): |
| push ebp |
| Index: simd/jdmrgmmx.asm |
| =================================================================== |
| --- simd/jdmrgmmx.asm (revision 64575) |
| +++ simd/jdmrgmmx.asm (working copy) |
| @@ -19,8 +19,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 32 |
| +%endif |
| + |
| ; |
| ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. |
| ; |
| @@ -42,7 +46,7 @@ |
| %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_merged_upsample_mmx) |
| + global EXTN(jsimd_h2v1_merged_upsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v1_merged_upsample_mmx): |
| push ebp |
| @@ -411,7 +415,7 @@ |
| %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_merged_upsample_mmx) |
| + global EXTN(jsimd_h2v2_merged_upsample_mmx) PRIVATE |
| |
| EXTN(jsimd_h2v2_merged_upsample_mmx): |
| push ebp |
| Index: simd/jdsamss2.asm |
| =================================================================== |
| --- simd/jdsamss2.asm (revision 64575) |
| +++ simd/jdsamss2.asm (working copy) |
| @@ -22,7 +22,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fancy_upsample_sse2) |
| + global EXTN(jconst_fancy_upsample_sse2) PRIVATE |
| |
| EXTN(jconst_fancy_upsample_sse2): |
| |
| @@ -58,7 +58,7 @@ |
| %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_fancy_upsample_sse2) |
| + global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_fancy_upsample_sse2): |
| push ebp |
| @@ -214,7 +214,7 @@ |
| %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_fancy_upsample_sse2) |
| + global EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_fancy_upsample_sse2): |
| push ebp |
| @@ -538,7 +538,7 @@ |
| %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_upsample_sse2) |
| + global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_upsample_sse2): |
| push ebp |
| @@ -637,7 +637,7 @@ |
| %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_upsample_sse2) |
| + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_upsample_sse2): |
| push ebp |
| Index: simd/jiss2flt-64.asm |
| =================================================================== |
| --- simd/jiss2flt-64.asm (revision 64575) |
| +++ simd/jiss2flt-64.asm (working copy) |
| @@ -38,7 +38,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_float_sse2) |
| + global EXTN(jconst_idct_float_sse2) PRIVATE |
| |
| EXTN(jconst_idct_float_sse2): |
| |
| @@ -74,7 +74,7 @@ |
| ; FAST_FLOAT workspace[DCTSIZE2] |
| |
| align 16 |
| - global EXTN(jsimd_idct_float_sse2) |
| + global EXTN(jsimd_idct_float_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_float_sse2): |
| push rbp |
| Index: simd/jfss2int-64.asm |
| =================================================================== |
| --- simd/jfss2int-64.asm (revision 64575) |
| +++ simd/jfss2int-64.asm (working copy) |
| @@ -67,7 +67,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_islow_sse2) |
| + global EXTN(jconst_fdct_islow_sse2) PRIVATE |
| |
| EXTN(jconst_fdct_islow_sse2): |
| |
| @@ -101,7 +101,7 @@ |
| %define WK_NUM 6 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_islow_sse2) |
| + global EXTN(jsimd_fdct_islow_sse2) PRIVATE |
| |
| EXTN(jsimd_fdct_islow_sse2): |
| push rbp |
| Index: simd/jcqnts2f.asm |
| =================================================================== |
| --- simd/jcqnts2f.asm (revision 64575) |
| +++ simd/jcqnts2f.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| %define workspace ebp+16 ; FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_convsamp_float_sse2) |
| + global EXTN(jsimd_convsamp_float_sse2) PRIVATE |
| |
| EXTN(jsimd_convsamp_float_sse2): |
| push ebp |
| @@ -115,7 +115,7 @@ |
| %define workspace ebp+16 ; FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_quantize_float_sse2) |
| + global EXTN(jsimd_quantize_float_sse2) PRIVATE |
| |
| EXTN(jsimd_quantize_float_sse2): |
| push ebp |
| Index: simd/jdmrgss2.asm |
| =================================================================== |
| --- simd/jdmrgss2.asm (revision 64575) |
| +++ simd/jdmrgss2.asm (working copy) |
| @@ -19,8 +19,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 32 |
| +%endif |
| + |
| ; |
| ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. |
| ; |
| @@ -42,7 +46,7 @@ |
| %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_merged_upsample_sse2) |
| + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_merged_upsample_sse2): |
| push ebp |
| @@ -309,6 +313,41 @@ |
| movdqa xmmA,xmmD |
| sub ecx, byte SIZEOF_XMMWORD |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp ecx, byte SIZEOF_MMWORD |
| + jb short .column_st7 |
| + movq MMWORD [edi], xmmA |
| + add edi, byte SIZEOF_MMWORD |
| + sub ecx, byte SIZEOF_MMWORD |
| + psrldq xmmA, SIZEOF_MMWORD |
| +.column_st7: |
| + ; Store the lower 4 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp ecx, byte SIZEOF_DWORD |
| + jb short .column_st3 |
| + movd DWORD [edi], xmmA |
| + add edi, byte SIZEOF_DWORD |
| + sub ecx, byte SIZEOF_DWORD |
| + psrldq xmmA, SIZEOF_DWORD |
| +.column_st3: |
| + ; Store the lower 2 bytes of eax to the output when it has enough |
| + ; space. |
| + movd eax, xmmA |
| + cmp ecx, byte SIZEOF_WORD |
| + jb short .column_st1 |
| + mov WORD [edi], ax |
| + add edi, byte SIZEOF_WORD |
| + sub ecx, byte SIZEOF_WORD |
| + shr eax, 16 |
| +.column_st1: |
| + ; Store the lower 1 byte of eax to the output when it has enough |
| + ; space. |
| + test ecx, ecx |
| + jz short .endcolumn |
| + mov BYTE [edi], al |
| +%else |
| mov eax,ecx |
| xor ecx, byte 0x0F |
| shl ecx, 2 |
| @@ -348,6 +387,7 @@ |
| por xmmE,xmmC |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %else ; RGB_PIXELSIZE == 4 ; ----------- |
| |
| @@ -436,6 +476,22 @@ |
| movdqa xmmA,xmmD |
| sub ecx, byte SIZEOF_XMMWORD/4 |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + cmp ecx, byte SIZEOF_XMMWORD/8 |
| + jb short .column_st7 |
| + movq MMWORD [edi], xmmA |
| + add edi, byte SIZEOF_XMMWORD/8*4 |
| + sub ecx, byte SIZEOF_XMMWORD/8 |
| + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| +.column_st7: |
| + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + test ecx, ecx |
| + jz short .endcolumn |
| + movd DWORD [edi], xmmA |
| +%else |
| cmp ecx, byte SIZEOF_XMMWORD/16 |
| jb short .endcolumn |
| mov eax,ecx |
| @@ -475,6 +531,7 @@ |
| por xmmE,xmmG |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %endif ; RGB_PIXELSIZE ; --------------- |
| |
| @@ -509,7 +566,7 @@ |
| %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_merged_upsample_sse2) |
| + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_merged_upsample_sse2): |
| push ebp |
| Index: simd/jfmmxint.asm |
| =================================================================== |
| --- simd/jfmmxint.asm (revision 64575) |
| +++ simd/jfmmxint.asm (working copy) |
| @@ -66,7 +66,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_islow_mmx) |
| + global EXTN(jconst_fdct_islow_mmx) PRIVATE |
| |
| EXTN(jconst_fdct_islow_mmx): |
| |
| @@ -101,7 +101,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_islow_mmx) |
| + global EXTN(jsimd_fdct_islow_mmx) PRIVATE |
| |
| EXTN(jsimd_fdct_islow_mmx): |
| push ebp |
| Index: simd/jcqnts2i.asm |
| =================================================================== |
| --- simd/jcqnts2i.asm (revision 64575) |
| +++ simd/jcqnts2i.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| %define workspace ebp+16 ; DCTELEM * workspace |
| |
| align 16 |
| - global EXTN(jsimd_convsamp_sse2) |
| + global EXTN(jsimd_convsamp_sse2) PRIVATE |
| |
| EXTN(jsimd_convsamp_sse2): |
| push ebp |
| @@ -117,7 +117,7 @@ |
| %define workspace ebp+16 ; DCTELEM * workspace |
| |
| align 16 |
| - global EXTN(jsimd_quantize_sse2) |
| + global EXTN(jsimd_quantize_sse2) PRIVATE |
| |
| EXTN(jsimd_quantize_sse2): |
| push ebp |
| Index: simd/jiss2fst-64.asm |
| =================================================================== |
| --- simd/jiss2fst-64.asm (revision 64575) |
| +++ simd/jiss2fst-64.asm (working copy) |
| @@ -60,7 +60,7 @@ |
| %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| |
| alignz 16 |
| - global EXTN(jconst_idct_ifast_sse2) |
| + global EXTN(jconst_idct_ifast_sse2) PRIVATE |
| |
| EXTN(jconst_idct_ifast_sse2): |
| |
| @@ -93,7 +93,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_idct_ifast_sse2) |
| + global EXTN(jsimd_idct_ifast_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_ifast_sse2): |
| push rbp |
| Index: simd/jimmxint.asm |
| =================================================================== |
| --- simd/jimmxint.asm (revision 64575) |
| +++ simd/jimmxint.asm (working copy) |
| @@ -66,7 +66,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_islow_mmx) |
| + global EXTN(jconst_idct_islow_mmx) PRIVATE |
| |
| EXTN(jconst_idct_islow_mmx): |
| |
| @@ -107,7 +107,7 @@ |
| ; JCOEF workspace[DCTSIZE2] |
| |
| align 16 |
| - global EXTN(jsimd_idct_islow_mmx) |
| + global EXTN(jsimd_idct_islow_mmx) PRIVATE |
| |
| EXTN(jsimd_idct_islow_mmx): |
| push ebp |
| Index: simd/jiss2flt.asm |
| =================================================================== |
| --- simd/jiss2flt.asm (revision 64575) |
| +++ simd/jiss2flt.asm (working copy) |
| @@ -37,7 +37,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_float_sse2) |
| + global EXTN(jconst_idct_float_sse2) PRIVATE |
| |
| EXTN(jconst_idct_float_sse2): |
| |
| @@ -73,7 +73,7 @@ |
| ; FAST_FLOAT workspace[DCTSIZE2] |
| |
| align 16 |
| - global EXTN(jsimd_idct_float_sse2) |
| + global EXTN(jsimd_idct_float_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_float_sse2): |
| push ebp |
| Index: simd/jfss2int.asm |
| =================================================================== |
| --- simd/jfss2int.asm (revision 64575) |
| +++ simd/jfss2int.asm (working copy) |
| @@ -66,7 +66,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_islow_sse2) |
| + global EXTN(jconst_fdct_islow_sse2) PRIVATE |
| |
| EXTN(jconst_fdct_islow_sse2): |
| |
| @@ -101,7 +101,7 @@ |
| %define WK_NUM 6 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_islow_sse2) |
| + global EXTN(jsimd_fdct_islow_sse2) PRIVATE |
| |
| EXTN(jsimd_fdct_islow_sse2): |
| push ebp |
| Index: simd/jiss2int.asm |
| =================================================================== |
| --- simd/jiss2int.asm (revision 64575) |
| +++ simd/jiss2int.asm (working copy) |
| @@ -66,7 +66,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_islow_sse2) |
| + global EXTN(jconst_idct_islow_sse2) PRIVATE |
| |
| EXTN(jconst_idct_islow_sse2): |
| |
| @@ -105,7 +105,7 @@ |
| %define WK_NUM 12 |
| |
| align 16 |
| - global EXTN(jsimd_idct_islow_sse2) |
| + global EXTN(jsimd_idct_islow_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_islow_sse2): |
| push ebp |
| Index: simd/jfsseflt-64.asm |
| =================================================================== |
| --- simd/jfsseflt-64.asm (revision 64575) |
| +++ simd/jfsseflt-64.asm (working copy) |
| @@ -38,7 +38,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_float_sse) |
| + global EXTN(jconst_fdct_float_sse) PRIVATE |
| |
| EXTN(jconst_fdct_float_sse): |
| |
| @@ -65,7 +65,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_float_sse) |
| + global EXTN(jsimd_fdct_float_sse) PRIVATE |
| |
| EXTN(jsimd_fdct_float_sse): |
| push rbp |
| Index: simd/jccolss2-64.asm |
| =================================================================== |
| --- simd/jccolss2-64.asm (revision 64575) |
| +++ simd/jccolss2-64.asm (working copy) |
| @@ -34,7 +34,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_rgb_ycc_convert_sse2) |
| + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE |
| |
| EXTN(jconst_rgb_ycc_convert_sse2): |
| |
| Index: simd/jccolmmx.asm |
| =================================================================== |
| --- simd/jccolmmx.asm (revision 64575) |
| +++ simd/jccolmmx.asm (working copy) |
| @@ -37,7 +37,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_rgb_ycc_convert_mmx) |
| + global EXTN(jconst_rgb_ycc_convert_mmx) PRIVATE |
| |
| EXTN(jconst_rgb_ycc_convert_mmx): |
| |
| Index: simd/jcsamss2-64.asm |
| =================================================================== |
| --- simd/jcsamss2-64.asm (revision 64575) |
| +++ simd/jcsamss2-64.asm (working copy) |
| @@ -41,7 +41,7 @@ |
| ; r15 = JSAMPARRAY output_data |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_downsample_sse2) |
| + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_downsample_sse2): |
| push rbp |
| @@ -185,7 +185,7 @@ |
| ; r15 = JSAMPARRAY output_data |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_downsample_sse2) |
| + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_downsample_sse2): |
| push rbp |
| Index: simd/jdcolmmx.asm |
| =================================================================== |
| --- simd/jdcolmmx.asm (revision 64575) |
| +++ simd/jdcolmmx.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_ycc_rgb_convert_mmx) |
| + global EXTN(jconst_ycc_rgb_convert_mmx) PRIVATE |
| |
| EXTN(jconst_ycc_rgb_convert_mmx): |
| |
| Index: simd/jdclrss2-64.asm |
| =================================================================== |
| --- simd/jdclrss2-64.asm (revision 64575) |
| +++ simd/jdclrss2-64.asm (working copy) |
| @@ -20,8 +20,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 64 |
| +%endif |
| + |
| ; |
| ; Convert some rows of samples to the output colorspace. |
| ; |
| @@ -41,7 +45,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_ycc_rgb_convert_sse2) |
| + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE |
| |
| EXTN(jsimd_ycc_rgb_convert_sse2): |
| push rbp |
| @@ -292,6 +296,41 @@ |
| movdqa xmmA,xmmD |
| sub rcx, byte SIZEOF_XMMWORD |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp rcx, byte SIZEOF_MMWORD |
| + jb short .column_st7 |
| + movq MMWORD [rdi], xmmA |
| + add rdi, byte SIZEOF_MMWORD |
| + sub rcx, byte SIZEOF_MMWORD |
| + psrldq xmmA, SIZEOF_MMWORD |
| +.column_st7: |
| + ; Store the lower 4 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp rcx, byte SIZEOF_DWORD |
| + jb short .column_st3 |
| + movd DWORD [rdi], xmmA |
| + add rdi, byte SIZEOF_DWORD |
| + sub rcx, byte SIZEOF_DWORD |
| + psrldq xmmA, SIZEOF_DWORD |
| +.column_st3: |
| + ; Store the lower 2 bytes of rax to the output when it has enough |
| + ; space. |
| + movd rax, xmmA |
| + cmp rcx, byte SIZEOF_WORD |
| + jb short .column_st1 |
| + mov WORD [rdi], ax |
| + add rdi, byte SIZEOF_WORD |
| + sub rcx, byte SIZEOF_WORD |
| + shr rax, 16 |
| +.column_st1: |
| + ; Store the lower 1 byte of rax to the output when it has enough |
| + ; space. |
| + test rcx, rcx |
| + jz short .nextrow |
| + mov BYTE [rdi], al |
| +%else |
| mov rax,rcx |
| xor rcx, byte 0x0F |
| shl rcx, 2 |
| @@ -331,6 +370,7 @@ |
| por xmmE,xmmC |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %else ; RGB_PIXELSIZE == 4 ; ----------- |
| |
| @@ -415,6 +455,22 @@ |
| movdqa xmmA,xmmD |
| sub rcx, byte SIZEOF_XMMWORD/4 |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + cmp rcx, byte SIZEOF_XMMWORD/8 |
| + jb short .column_st7 |
| + movq MMWORD [rdi], xmmA |
| + add rdi, byte SIZEOF_XMMWORD/8*4 |
| + sub rcx, byte SIZEOF_XMMWORD/8 |
| + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| +.column_st7: |
| + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + test rcx, rcx |
| + jz short .nextrow |
| + movd DWORD [rdi], xmmA |
| +%else |
| cmp rcx, byte SIZEOF_XMMWORD/16 |
| jb near .nextrow |
| mov rax,rcx |
| @@ -454,6 +510,7 @@ |
| por xmmE,xmmG |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %endif ; RGB_PIXELSIZE ; --------------- |
| |
| Index: simd/jcclrmmx.asm |
| =================================================================== |
| --- simd/jcclrmmx.asm (revision 64575) |
| +++ simd/jcclrmmx.asm (working copy) |
| @@ -19,8 +19,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 32 |
| +%endif |
| + |
| ; |
| ; Convert some rows of samples to the output colorspace. |
| ; |
| @@ -42,7 +46,7 @@ |
| %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| |
| align 16 |
| - global EXTN(jsimd_rgb_ycc_convert_mmx) |
| + global EXTN(jsimd_rgb_ycc_convert_mmx) PRIVATE |
| |
| EXTN(jsimd_rgb_ycc_convert_mmx): |
| push ebp |
| Index: simd/jimmxred.asm |
| =================================================================== |
| --- simd/jimmxred.asm (revision 64575) |
| +++ simd/jimmxred.asm (working copy) |
| @@ -72,7 +72,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_red_mmx) |
| + global EXTN(jconst_idct_red_mmx) PRIVATE |
| |
| EXTN(jconst_idct_red_mmx): |
| |
| @@ -115,7 +115,7 @@ |
| ; JCOEF workspace[DCTSIZE2] |
| |
| align 16 |
| - global EXTN(jsimd_idct_4x4_mmx) |
| + global EXTN(jsimd_idct_4x4_mmx) PRIVATE |
| |
| EXTN(jsimd_idct_4x4_mmx): |
| push ebp |
| @@ -503,7 +503,7 @@ |
| %define output_col(b) (b)+20 ; JDIMENSION output_col |
| |
| align 16 |
| - global EXTN(jsimd_idct_2x2_mmx) |
| + global EXTN(jsimd_idct_2x2_mmx) PRIVATE |
| |
| EXTN(jsimd_idct_2x2_mmx): |
| push ebp |
| Index: simd/jdclrmmx.asm |
| =================================================================== |
| --- simd/jdclrmmx.asm (revision 64575) |
| +++ simd/jdclrmmx.asm (working copy) |
| @@ -19,8 +19,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 32 |
| +%endif |
| + |
| ; |
| ; Convert some rows of samples to the output colorspace. |
| ; |
| @@ -42,7 +46,7 @@ |
| %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| |
| align 16 |
| - global EXTN(jsimd_ycc_rgb_convert_mmx) |
| + global EXTN(jsimd_ycc_rgb_convert_mmx) PRIVATE |
| |
| EXTN(jsimd_ycc_rgb_convert_mmx): |
| push ebp |
| Index: simd/jfsseflt.asm |
| =================================================================== |
| --- simd/jfsseflt.asm (revision 64575) |
| +++ simd/jfsseflt.asm (working copy) |
| @@ -37,7 +37,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_float_sse) |
| + global EXTN(jconst_fdct_float_sse) PRIVATE |
| |
| EXTN(jconst_fdct_float_sse): |
| |
| @@ -65,7 +65,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_float_sse) |
| + global EXTN(jsimd_fdct_float_sse) PRIVATE |
| |
| EXTN(jsimd_fdct_float_sse): |
| push ebp |
| Index: simd/jsimdext.inc |
| =================================================================== |
| --- simd/jsimdext.inc (revision 64575) |
| +++ simd/jsimdext.inc (working copy) |
| @@ -38,16 +38,16 @@ |
| |
| ; -- segment definition -- |
| ; |
| -%define SEG_TEXT .text align=16 public use32 class=CODE |
| -%define SEG_CONST .rdata align=16 public use32 class=CONST |
| +%define SEG_TEXT .text align=16 ; public use32 class=CODE |
| +%define SEG_CONST .rdata align=16 ; public use32 class=CONST |
| |
| %elifdef WIN64 ; ----(nasm -fwin64 -DWIN64 ...)-------- |
| ; * Microsoft Visual C++ |
| |
| ; -- segment definition -- |
| ; |
| -%define SEG_TEXT .text align=16 public use64 class=CODE |
| -%define SEG_CONST .rdata align=16 public use64 class=CONST |
| +%define SEG_TEXT .text align=16 ; public use64 class=CODE |
| +%define SEG_CONST .rdata align=16 ; public use64 class=CONST |
| %ifdef MSVC |
| %define EXTN(name) name ; foo() -> foo |
| %endif |
| @@ -369,4 +369,14 @@ |
| ; |
| %include "jsimdcfg.inc" |
| |
| +; Begin chromium edits |
| +%ifdef MACHO ; ----(nasm -fmacho -DMACHO ...)-------- |
| +%define PRIVATE :private_extern |
| +%elifdef ELF ; ----(nasm -felf[64] -DELF ...)------------ |
| +%define PRIVATE :hidden |
| +%else |
| +%define PRIVATE |
| +%endif |
| +; End chromium edits |
| + |
| ; -------------------------------------------------------------------------- |
| Index: simd/jdmrgss2-64.asm |
| =================================================================== |
| --- simd/jdmrgss2-64.asm (revision 64575) |
| +++ simd/jdmrgss2-64.asm (working copy) |
| @@ -20,8 +20,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 64 |
| +%endif |
| + |
| ; |
| ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. |
| ; |
| @@ -41,7 +45,7 @@ |
| %define WK_NUM 3 |
| |
| align 16 |
| - global EXTN(jsimd_h2v1_merged_upsample_sse2) |
| + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v1_merged_upsample_sse2): |
| push rbp |
| @@ -296,6 +300,41 @@ |
| movdqa xmmA,xmmD |
| sub rcx, byte SIZEOF_XMMWORD |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp rcx, byte SIZEOF_MMWORD |
| + jb short .column_st7 |
| + movq MMWORD [rdi], xmmA |
| + add rdi, byte SIZEOF_MMWORD |
| + sub rcx, byte SIZEOF_MMWORD |
| + psrldq xmmA, SIZEOF_MMWORD |
| +.column_st7: |
| + ; Store the lower 4 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp rcx, byte SIZEOF_DWORD |
| + jb short .column_st3 |
| + movd DWORD [rdi], xmmA |
| + add rdi, byte SIZEOF_DWORD |
| + sub rcx, byte SIZEOF_DWORD |
| + psrldq xmmA, SIZEOF_DWORD |
| +.column_st3: |
| + ; Store the lower 2 bytes of rax to the output when it has enough |
| + ; space. |
| + movd rax, xmmA |
| + cmp rcx, byte SIZEOF_WORD |
| + jb short .column_st1 |
| + mov WORD [rdi], ax |
| + add rdi, byte SIZEOF_WORD |
| + sub rcx, byte SIZEOF_WORD |
| + shr rax, 16 |
| +.column_st1: |
| + ; Store the lower 1 byte of rax to the output when it has enough |
| + ; space. |
| + test rcx, rcx |
| + jz short .endcolumn |
| + mov BYTE [rdi], al |
| +%else |
| mov rax,rcx |
| xor rcx, byte 0x0F |
| shl rcx, 2 |
| @@ -335,6 +374,7 @@ |
| por xmmE,xmmC |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %else ; RGB_PIXELSIZE == 4 ; ----------- |
| |
| @@ -422,6 +462,22 @@ |
| movdqa xmmA,xmmD |
| sub rcx, byte SIZEOF_XMMWORD/4 |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + cmp rcx, byte SIZEOF_XMMWORD/8 |
| + jb short .column_st7 |
| + movq MMWORD [rdi], xmmA |
| + add rdi, byte SIZEOF_XMMWORD/8*4 |
| + sub rcx, byte SIZEOF_XMMWORD/8 |
| + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| +.column_st7: |
| + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + test rcx, rcx |
| + jz short .endcolumn |
| + movd DWORD [rdi], xmmA |
| +%else |
| cmp rcx, byte SIZEOF_XMMWORD/16 |
| jb near .endcolumn |
| mov rax,rcx |
| @@ -461,6 +517,7 @@ |
| por xmmE,xmmG |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %endif ; RGB_PIXELSIZE ; --------------- |
| |
| @@ -492,7 +549,7 @@ |
| ; r13 = JSAMPARRAY output_buf |
| |
| align 16 |
| - global EXTN(jsimd_h2v2_merged_upsample_sse2) |
| + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE |
| |
| EXTN(jsimd_h2v2_merged_upsample_sse2): |
| push rbp |
| Index: simd/jccolss2.asm |
| =================================================================== |
| --- simd/jccolss2.asm (revision 64575) |
| +++ simd/jccolss2.asm (working copy) |
| @@ -34,7 +34,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_rgb_ycc_convert_sse2) |
| + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE |
| |
| EXTN(jconst_rgb_ycc_convert_sse2): |
| |
| Index: simd/jdmermmx.asm |
| =================================================================== |
| --- simd/jdmermmx.asm (revision 64575) |
| +++ simd/jdmermmx.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_merged_upsample_mmx) |
| + global EXTN(jconst_merged_upsample_mmx) PRIVATE |
| |
| EXTN(jconst_merged_upsample_mmx): |
| |
| Index: simd/jdcolss2.asm |
| =================================================================== |
| --- simd/jdcolss2.asm (revision 64575) |
| +++ simd/jdcolss2.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_ycc_rgb_convert_sse2) |
| + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE |
| |
| EXTN(jconst_ycc_rgb_convert_sse2): |
| |
| Index: simd/jisseflt.asm |
| =================================================================== |
| --- simd/jisseflt.asm (revision 64575) |
| +++ simd/jisseflt.asm (working copy) |
| @@ -37,7 +37,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_float_sse) |
| + global EXTN(jconst_idct_float_sse) PRIVATE |
| |
| EXTN(jconst_idct_float_sse): |
| |
| @@ -73,7 +73,7 @@ |
| ; FAST_FLOAT workspace[DCTSIZE2] |
| |
| align 16 |
| - global EXTN(jsimd_idct_float_sse) |
| + global EXTN(jsimd_idct_float_sse) PRIVATE |
| |
| EXTN(jsimd_idct_float_sse): |
| push ebp |
| Index: simd/jcqnts2i-64.asm |
| =================================================================== |
| --- simd/jcqnts2i-64.asm (revision 64575) |
| +++ simd/jcqnts2i-64.asm (working copy) |
| @@ -36,7 +36,7 @@ |
| ; r12 = DCTELEM * workspace |
| |
| align 16 |
| - global EXTN(jsimd_convsamp_sse2) |
| + global EXTN(jsimd_convsamp_sse2) PRIVATE |
| |
| EXTN(jsimd_convsamp_sse2): |
| push rbp |
| @@ -112,7 +112,7 @@ |
| ; r12 = DCTELEM * workspace |
| |
| align 16 |
| - global EXTN(jsimd_quantize_sse2) |
| + global EXTN(jsimd_quantize_sse2) PRIVATE |
| |
| EXTN(jsimd_quantize_sse2): |
| push rbp |
| Index: simd/jcclrss2.asm |
| =================================================================== |
| --- simd/jcclrss2.asm (revision 64575) |
| +++ simd/jcclrss2.asm (working copy) |
| @@ -16,8 +16,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 32 |
| +%endif |
| + |
| ; |
| ; Convert some rows of samples to the output colorspace. |
| ; |
| @@ -40,7 +44,7 @@ |
| |
| align 16 |
| |
| - global EXTN(jsimd_rgb_ycc_convert_sse2) |
| + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE |
| |
| EXTN(jsimd_rgb_ycc_convert_sse2): |
| push ebp |
| Index: simd/jiss2red.asm |
| =================================================================== |
| --- simd/jiss2red.asm (revision 64575) |
| +++ simd/jiss2red.asm (working copy) |
| @@ -72,7 +72,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_red_sse2) |
| + global EXTN(jconst_idct_red_sse2) PRIVATE |
| |
| EXTN(jconst_idct_red_sse2): |
| |
| @@ -113,7 +113,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_idct_4x4_sse2) |
| + global EXTN(jsimd_idct_4x4_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_4x4_sse2): |
| push ebp |
| @@ -424,7 +424,7 @@ |
| %define output_col(b) (b)+20 ; JDIMENSION output_col |
| |
| align 16 |
| - global EXTN(jsimd_idct_2x2_sse2) |
| + global EXTN(jsimd_idct_2x2_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_2x2_sse2): |
| push ebp |
| Index: simd/jdclrss2.asm |
| =================================================================== |
| --- simd/jdclrss2.asm (revision 64575) |
| +++ simd/jdclrss2.asm (working copy) |
| @@ -19,8 +19,12 @@ |
| %include "jcolsamp.inc" |
| |
| ; -------------------------------------------------------------------------- |
| +%ifndef NEED_SECTION |
| +%define NEED_SECTION |
| SECTION SEG_TEXT |
| BITS 32 |
| +%endif |
| + |
| ; |
| ; Convert some rows of samples to the output colorspace. |
| ; |
| @@ -42,7 +46,7 @@ |
| %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| |
| align 16 |
| - global EXTN(jsimd_ycc_rgb_convert_sse2) |
| + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE |
| |
| EXTN(jsimd_ycc_rgb_convert_sse2): |
| push ebp |
| @@ -304,6 +308,41 @@ |
| movdqa xmmA,xmmD |
| sub ecx, byte SIZEOF_XMMWORD |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp ecx, byte SIZEOF_MMWORD |
| + jb short .column_st7 |
| + movq MMWORD [edi], xmmA |
| + add edi, byte SIZEOF_MMWORD |
| + sub ecx, byte SIZEOF_MMWORD |
| + psrldq xmmA, SIZEOF_MMWORD |
| +.column_st7: |
| + ; Store the lower 4 bytes of xmmA to the output when it has enough |
| + ; space. |
| + cmp ecx, byte SIZEOF_DWORD |
| + jb short .column_st3 |
| + movd DWORD [edi], xmmA |
| + add edi, byte SIZEOF_DWORD |
| + sub ecx, byte SIZEOF_DWORD |
| + psrldq xmmA, SIZEOF_DWORD |
| +.column_st3: |
| + ; Store the lower 2 bytes of eax to the output when it has enough |
| + ; space. |
| + movd eax, xmmA |
| + cmp ecx, byte SIZEOF_WORD |
| + jb short .column_st1 |
| + mov WORD [edi], ax |
| + add edi, byte SIZEOF_WORD |
| + sub ecx, byte SIZEOF_WORD |
| + shr eax, 16 |
| +.column_st1: |
| + ; Store the lower 1 byte of eax to the output when it has enough |
| + ; space. |
| + test ecx, ecx |
| + jz short .nextrow |
| + mov BYTE [edi], al |
| +%else |
| mov eax,ecx |
| xor ecx, byte 0x0F |
| shl ecx, 2 |
| @@ -343,6 +382,7 @@ |
| por xmmE,xmmC |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %else ; RGB_PIXELSIZE == 4 ; ----------- |
| |
| @@ -428,6 +468,22 @@ |
| movdqa xmmA,xmmD |
| sub ecx, byte SIZEOF_XMMWORD/4 |
| .column_st15: |
| +%ifdef STRICT_MEMORY_ACCESS |
| + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + cmp ecx, byte SIZEOF_XMMWORD/8 |
| + jb short .column_st7 |
| + movq MMWORD [edi], xmmA |
| + add edi, byte SIZEOF_XMMWORD/8*4 |
| + sub ecx, byte SIZEOF_XMMWORD/8 |
| + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| +.column_st7: |
| + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| + ; space. |
| + test ecx, ecx |
| + jz short .nextrow |
| + movd DWORD [edi], xmmA |
| +%else |
| cmp ecx, byte SIZEOF_XMMWORD/16 |
| jb short .nextrow |
| mov eax,ecx |
| @@ -467,6 +523,7 @@ |
| por xmmE,xmmG |
| .adj0: ; ---------------- |
| maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| |
| %endif ; RGB_PIXELSIZE ; --------------- |
| |
| Index: simd/jdmerss2.asm |
| =================================================================== |
| --- simd/jdmerss2.asm (revision 64575) |
| +++ simd/jdmerss2.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_merged_upsample_sse2) |
| + global EXTN(jconst_merged_upsample_sse2) PRIVATE |
| |
| EXTN(jconst_merged_upsample_sse2): |
| |
| Index: simd/jcqntsse.asm |
| =================================================================== |
| --- simd/jcqntsse.asm (revision 64575) |
| +++ simd/jcqntsse.asm (working copy) |
| @@ -35,7 +35,7 @@ |
| %define workspace ebp+16 ; FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_convsamp_float_sse) |
| + global EXTN(jsimd_convsamp_float_sse) PRIVATE |
| |
| EXTN(jsimd_convsamp_float_sse): |
| push ebp |
| @@ -138,7 +138,7 @@ |
| %define workspace ebp+16 ; FAST_FLOAT * workspace |
| |
| align 16 |
| - global EXTN(jsimd_quantize_float_sse) |
| + global EXTN(jsimd_quantize_float_sse) PRIVATE |
| |
| EXTN(jsimd_quantize_float_sse): |
| push ebp |
| Index: simd/jfss2fst-64.asm |
| =================================================================== |
| --- simd/jfss2fst-64.asm (revision 64575) |
| +++ simd/jfss2fst-64.asm (working copy) |
| @@ -53,7 +53,7 @@ |
| %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_ifast_sse2) |
| + global EXTN(jconst_fdct_ifast_sse2) PRIVATE |
| |
| EXTN(jconst_fdct_ifast_sse2): |
| |
| @@ -80,7 +80,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_ifast_sse2) |
| + global EXTN(jsimd_fdct_ifast_sse2) PRIVATE |
| |
| EXTN(jsimd_fdct_ifast_sse2): |
| push rbp |
| Index: simd/jiss2int-64.asm |
| =================================================================== |
| --- simd/jiss2int-64.asm (revision 64575) |
| +++ simd/jiss2int-64.asm (working copy) |
| @@ -67,7 +67,7 @@ |
| SECTION SEG_CONST |
| |
| alignz 16 |
| - global EXTN(jconst_idct_islow_sse2) |
| + global EXTN(jconst_idct_islow_sse2) PRIVATE |
| |
| EXTN(jconst_idct_islow_sse2): |
| |
| @@ -106,7 +106,7 @@ |
| %define WK_NUM 12 |
| |
| align 16 |
| - global EXTN(jsimd_idct_islow_sse2) |
| + global EXTN(jsimd_idct_islow_sse2) PRIVATE |
| |
| EXTN(jsimd_idct_islow_sse2): |
| push rbp |
| Index: simd/jfmmxfst.asm |
| =================================================================== |
| --- simd/jfmmxfst.asm (revision 64575) |
| +++ simd/jfmmxfst.asm (working copy) |
| @@ -52,7 +52,7 @@ |
| %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| |
| alignz 16 |
| - global EXTN(jconst_fdct_ifast_mmx) |
| + global EXTN(jconst_fdct_ifast_mmx) PRIVATE |
| |
| EXTN(jconst_fdct_ifast_mmx): |
| |
| @@ -80,7 +80,7 @@ |
| %define WK_NUM 2 |
| |
| align 16 |
| - global EXTN(jsimd_fdct_ifast_mmx) |
| + global EXTN(jsimd_fdct_ifast_mmx) PRIVATE |
| |
| EXTN(jsimd_fdct_ifast_mmx): |
| push ebp |