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

Side by Side Diff: simd/jdmrgss2-64.asm

Issue 1347093003: Rewrite the JDIMENSION argument management for x86 64-bit assembly to (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git@master
Patch Set: README.chromium Created 5 years, 3 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
« no previous file with comments | « simd/jdclrss2-64.asm ('k') | simd/jdsamss2-64.asm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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, 2012 Pierre Ossman <ossman@cendio.se> for Cendio AB 4 ; Copyright 2009, 2012 Pierre Ossman <ossman@cendio.se> for Cendio AB
5 ; Copyright 2009, 2012 D. R. Commander 5 ; Copyright 2009, 2012 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 push rbp 45 push rbp
46 mov rax,rsp ; rax = original rbp 46 mov rax,rsp ; rax = original rbp
47 sub rsp, byte 4 47 sub rsp, byte 4
48 and rsp, byte (-SIZEOF_XMMWORD) ; align to 128 bits 48 and rsp, byte (-SIZEOF_XMMWORD) ; align to 128 bits
49 mov [rsp],rax 49 mov [rsp],rax
50 mov rbp,rsp ; rbp = aligned rbp 50 mov rbp,rsp ; rbp = aligned rbp
51 lea rsp, [wk(0)] 51 lea rsp, [wk(0)]
52 collect_args 52 collect_args
53 push rbx 53 push rbx
54 54
55 » mov» rcx, r10» ; col 55 » mov» ecx, r10d» ; col
56 test rcx,rcx 56 test rcx,rcx
57 jz near .return 57 jz near .return
58 58
59 push rcx 59 push rcx
60 60
61 mov rdi, r11 61 mov rdi, r11
62 » mov» rcx, r12 62 » mov» ecx, r12d
63 mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY] 63 mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
64 mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY] 64 mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
65 mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY] 65 mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
66 mov rdi, r13 66 mov rdi, r13
67 mov rsi, JSAMPROW [rsi+rcx*SIZEOF_JSAMPROW] ; inptr0 67 mov rsi, JSAMPROW [rsi+rcx*SIZEOF_JSAMPROW] ; inptr0
68 mov rbx, JSAMPROW [rbx+rcx*SIZEOF_JSAMPROW] ; inptr1 68 mov rbx, JSAMPROW [rbx+rcx*SIZEOF_JSAMPROW] ; inptr1
69 mov rdx, JSAMPROW [rdx+rcx*SIZEOF_JSAMPROW] ; inptr2 69 mov rdx, JSAMPROW [rdx+rcx*SIZEOF_JSAMPROW] ; inptr2
70 mov rdi, JSAMPROW [rdi] ; outptr 70 mov rdi, JSAMPROW [rdi] ; outptr
71 71
72 pop rcx ; col 72 pop rcx ; col
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 align 16 448 align 16
449 global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE 449 global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE
450 450
451 EXTN(jsimd_h2v2_merged_upsample_sse2): 451 EXTN(jsimd_h2v2_merged_upsample_sse2):
452 push rbp 452 push rbp
453 mov rax,rsp 453 mov rax,rsp
454 mov rbp,rsp 454 mov rbp,rsp
455 collect_args 455 collect_args
456 push rbx 456 push rbx
457 457
458 » mov» rax, r10 458 » mov» eax, r10d
459 459
460 mov rdi, r11 460 mov rdi, r11
461 » mov» rcx, r12 461 » mov» ecx, r12d
462 mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY] 462 mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
463 mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY] 463 mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
464 mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY] 464 mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
465 mov rdi, r13 465 mov rdi, r13
466 lea rsi, [rsi+rcx*SIZEOF_JSAMPROW] 466 lea rsi, [rsi+rcx*SIZEOF_JSAMPROW]
467 467
468 push rdx ; inptr2 468 push rdx ; inptr2
469 push rbx ; inptr1 469 push rbx ; inptr1
470 push rsi ; inptr00 470 push rsi ; inptr00
471 mov rbx,rsp 471 mov rbx,rsp
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 pop rdx 529 pop rdx
530 530
531 pop rbx 531 pop rbx
532 uncollect_args 532 uncollect_args
533 pop rbp 533 pop rbp
534 ret 534 ret
535 535
536 ; For some reason, the OS X linker does not honor the request to align the 536 ; For some reason, the OS X linker does not honor the request to align the
537 ; segment unless we do this. 537 ; segment unless we do this.
538 align 16 538 align 16
OLDNEW
« no previous file with comments | « simd/jdclrss2-64.asm ('k') | simd/jdsamss2-64.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698