| OLD | NEW |
| 1 ; | 1 ; |
| 2 ; jcqnt3dn.asm - sample data conversion and quantization (3DNow! & MMX) | 2 ; jcqnt3dn.asm - sample data conversion and quantization (3DNow! & MMX) |
| 3 ; | 3 ; |
| 4 ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB | 4 ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB |
| 5 ; | 5 ; |
| 6 ; Based on | 6 ; Based on |
| 7 ; x86 SIMD extension for IJG JPEG library | 7 ; x86 SIMD extension for IJG JPEG library |
| 8 ; Copyright (C) 1999-2006, MIYASAKA Masaru. | 8 ; Copyright (C) 1999-2006, MIYASAKA Masaru. |
| 9 ; For conditions of distribution and use, see copyright notice in jsimdext.inc | 9 ; For conditions of distribution and use, see copyright notice in jsimdext.inc |
| 10 ; | 10 ; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 ; GLOBAL(void) | 28 ; GLOBAL(void) |
| 29 ; jsimd_convsamp_float_3dnow (JSAMPARRAY sample_data, JDIMENSION start_col, | 29 ; jsimd_convsamp_float_3dnow (JSAMPARRAY sample_data, JDIMENSION start_col, |
| 30 ; FAST_FLOAT * workspace); | 30 ; FAST_FLOAT * workspace); |
| 31 ; | 31 ; |
| 32 | 32 |
| 33 %define sample_data ebp+8 ; JSAMPARRAY sample_data | 33 %define sample_data ebp+8 ; JSAMPARRAY sample_data |
| 34 %define start_col ebp+12 ; JDIMENSION start_col | 34 %define start_col ebp+12 ; JDIMENSION start_col |
| 35 %define workspace ebp+16 ; FAST_FLOAT * workspace | 35 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 36 | 36 |
| 37 align 16 | 37 align 16 |
| 38 » global» EXTN(jsimd_convsamp_float_3dnow) | 38 » global» EXTN(jsimd_convsamp_float_3dnow) PRIVATE |
| 39 | 39 |
| 40 EXTN(jsimd_convsamp_float_3dnow): | 40 EXTN(jsimd_convsamp_float_3dnow): |
| 41 push ebp | 41 push ebp |
| 42 mov ebp,esp | 42 mov ebp,esp |
| 43 push ebx | 43 push ebx |
| 44 ; push ecx ; need not be preserved | 44 ; push ecx ; need not be preserved |
| 45 ; push edx ; need not be preserved | 45 ; push edx ; need not be preserved |
| 46 push esi | 46 push esi |
| 47 push edi | 47 push edi |
| 48 | 48 |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 ; GLOBAL(void) | 131 ; GLOBAL(void) |
| 132 ; jsimd_quantize_float_3dnow (JCOEFPTR coef_block, FAST_FLOAT * divisors, | 132 ; jsimd_quantize_float_3dnow (JCOEFPTR coef_block, FAST_FLOAT * divisors, |
| 133 ; FAST_FLOAT * workspace); | 133 ; FAST_FLOAT * workspace); |
| 134 ; | 134 ; |
| 135 | 135 |
| 136 %define coef_block ebp+8 ; JCOEFPTR coef_block | 136 %define coef_block ebp+8 ; JCOEFPTR coef_block |
| 137 %define divisors ebp+12 ; FAST_FLOAT * divisors | 137 %define divisors ebp+12 ; FAST_FLOAT * divisors |
| 138 %define workspace ebp+16 ; FAST_FLOAT * workspace | 138 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 139 | 139 |
| 140 align 16 | 140 align 16 |
| 141 » global» EXTN(jsimd_quantize_float_3dnow) | 141 » global» EXTN(jsimd_quantize_float_3dnow) PRIVATE |
| 142 | 142 |
| 143 EXTN(jsimd_quantize_float_3dnow): | 143 EXTN(jsimd_quantize_float_3dnow): |
| 144 push ebp | 144 push ebp |
| 145 mov ebp,esp | 145 mov ebp,esp |
| 146 ; push ebx ; unused | 146 ; push ebx ; unused |
| 147 ; push ecx ; unused | 147 ; push ecx ; unused |
| 148 ; push edx ; need not be preserved | 148 ; push edx ; need not be preserved |
| 149 push esi | 149 push esi |
| 150 push edi | 150 push edi |
| 151 | 151 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 pop esi | 224 pop esi |
| 225 ; pop edx ; need not be preserved | 225 ; pop edx ; need not be preserved |
| 226 ; pop ecx ; unused | 226 ; pop ecx ; unused |
| 227 ; pop ebx ; unused | 227 ; pop ebx ; unused |
| 228 pop ebp | 228 pop ebp |
| 229 ret | 229 ret |
| 230 | 230 |
| 231 ; For some reason, the OS X linker does not honor the request to align the | 231 ; For some reason, the OS X linker does not honor the request to align the |
| 232 ; segment unless we do this. | 232 ; segment unless we do this. |
| 233 align 16 | 233 align 16 |
| OLD | NEW |