| OLD | NEW |
| 1 ; | 1 ; |
| 2 ; jdmrgss2-64.asm - merged upsampling/color conversion (64-bit SSE2) | 2 ; jdmrgss2-64.asm - merged upsampling/color conversion (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 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 ; space. | 308 ; space. |
| 309 cmp rcx, byte SIZEOF_DWORD | 309 cmp rcx, byte SIZEOF_DWORD |
| 310 jb short .column_st3 | 310 jb short .column_st3 |
| 311 movd DWORD [rdi], xmmA | 311 movd DWORD [rdi], xmmA |
| 312 add rdi, byte SIZEOF_DWORD | 312 add rdi, byte SIZEOF_DWORD |
| 313 sub rcx, byte SIZEOF_DWORD | 313 sub rcx, byte SIZEOF_DWORD |
| 314 psrldq xmmA, SIZEOF_DWORD | 314 psrldq xmmA, SIZEOF_DWORD |
| 315 .column_st3: | 315 .column_st3: |
| 316 ; Store the lower 2 bytes of rax to the output when it has enough | 316 ; Store the lower 2 bytes of rax to the output when it has enough |
| 317 ; space. | 317 ; space. |
| 318 » movd» rax, xmmA | 318 » movd» eax, xmmA |
| 319 cmp rcx, byte SIZEOF_WORD | 319 cmp rcx, byte SIZEOF_WORD |
| 320 jb short .column_st1 | 320 jb short .column_st1 |
| 321 mov WORD [rdi], ax | 321 mov WORD [rdi], ax |
| 322 add rdi, byte SIZEOF_WORD | 322 add rdi, byte SIZEOF_WORD |
| 323 sub rcx, byte SIZEOF_WORD | 323 sub rcx, byte SIZEOF_WORD |
| 324 shr rax, 16 | 324 shr rax, 16 |
| 325 .column_st1: | 325 .column_st1: |
| 326 ; Store the lower 1 byte of rax to the output when it has enough | 326 ; Store the lower 1 byte of rax to the output when it has enough |
| 327 ; space. | 327 ; space. |
| 328 test rcx, rcx | 328 test rcx, rcx |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 pop rdx | 626 pop rdx |
| 627 | 627 |
| 628 pop rbx | 628 pop rbx |
| 629 uncollect_args | 629 uncollect_args |
| 630 pop rbp | 630 pop rbp |
| 631 ret | 631 ret |
| 632 | 632 |
| 633 ; For some reason, the OS X linker does not honor the request to align the | 633 ; For some reason, the OS X linker does not honor the request to align the |
| 634 ; segment unless we do this. | 634 ; segment unless we do this. |
| 635 align 16 | 635 align 16 |
| OLD | NEW |