| OLD | NEW |
| 1 ; | 1 ; |
| 2 ; jcsample.asm - downsampling (64-bit SSE2) | 2 ; jcsample.asm - downsampling (64-bit SSE2) |
| 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 ; Copyright 2009 D. R. Commander | 5 ; Copyright 2009 D. R. Commander |
| 6 ; | 6 ; |
| 7 ; Based on | 7 ; Based on |
| 8 ; x86 SIMD extension for IJG JPEG library | 8 ; x86 SIMD extension for IJG JPEG library |
| 9 ; Copyright (C) 1999-2006, MIYASAKA Masaru. | 9 ; Copyright (C) 1999-2006, MIYASAKA Masaru. |
| 10 ; For conditions of distribution and use, see copyright notice in jsimdext.inc | 10 ; For conditions of distribution and use, see copyright notice in jsimdext.inc |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 ; | 34 ; |
| 35 | 35 |
| 36 ; r10 = JDIMENSION image_width | 36 ; r10 = JDIMENSION image_width |
| 37 ; r11 = int max_v_samp_factor | 37 ; r11 = int max_v_samp_factor |
| 38 ; r12 = JDIMENSION v_samp_factor | 38 ; r12 = JDIMENSION v_samp_factor |
| 39 ; r13 = JDIMENSION width_blocks | 39 ; r13 = JDIMENSION width_blocks |
| 40 ; r14 = JSAMPARRAY input_data | 40 ; r14 = JSAMPARRAY input_data |
| 41 ; r15 = JSAMPARRAY output_data | 41 ; r15 = JSAMPARRAY output_data |
| 42 | 42 |
| 43 align 16 | 43 align 16 |
| 44 global EXTN(jsimd_h2v1_downsample_sse2) | 44 global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE |
| 45 | 45 |
| 46 EXTN(jsimd_h2v1_downsample_sse2): | 46 EXTN(jsimd_h2v1_downsample_sse2): |
| 47 push rbp | 47 push rbp |
| 48 mov rax,rsp | 48 mov rax,rsp |
| 49 mov rbp,rsp | 49 mov rbp,rsp |
| 50 collect_args | 50 collect_args |
| 51 | 51 |
| 52 mov ecx, r13d | 52 mov ecx, r13d |
| 53 shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols) | 53 shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols) |
| 54 jz near .return | 54 jz near .return |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 ; | 178 ; |
| 179 | 179 |
| 180 ; r10 = JDIMENSION image_width | 180 ; r10 = JDIMENSION image_width |
| 181 ; r11 = int max_v_samp_factor | 181 ; r11 = int max_v_samp_factor |
| 182 ; r12 = JDIMENSION v_samp_factor | 182 ; r12 = JDIMENSION v_samp_factor |
| 183 ; r13 = JDIMENSION width_blocks | 183 ; r13 = JDIMENSION width_blocks |
| 184 ; r14 = JSAMPARRAY input_data | 184 ; r14 = JSAMPARRAY input_data |
| 185 ; r15 = JSAMPARRAY output_data | 185 ; r15 = JSAMPARRAY output_data |
| 186 | 186 |
| 187 align 16 | 187 align 16 |
| 188 global EXTN(jsimd_h2v2_downsample_sse2) | 188 global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE |
| 189 | 189 |
| 190 EXTN(jsimd_h2v2_downsample_sse2): | 190 EXTN(jsimd_h2v2_downsample_sse2): |
| 191 push rbp | 191 push rbp |
| 192 mov rax,rsp | 192 mov rax,rsp |
| 193 mov rbp,rsp | 193 mov rbp,rsp |
| 194 collect_args | 194 collect_args |
| 195 | 195 |
| 196 mov ecx, r13d | 196 mov ecx, r13d |
| 197 shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols) | 197 shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols) |
| 198 jz near .return | 198 jz near .return |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 jg near .rowloop | 321 jg near .rowloop |
| 322 | 322 |
| 323 .return: | 323 .return: |
| 324 uncollect_args | 324 uncollect_args |
| 325 pop rbp | 325 pop rbp |
| 326 ret | 326 ret |
| 327 | 327 |
| 328 ; For some reason, the OS X linker does not honor the request to align the | 328 ; For some reason, the OS X linker does not honor the request to align the |
| 329 ; segment unless we do this. | 329 ; segment unless we do this. |
| 330 align 16 | 330 align 16 |
| OLD | NEW |