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

Side by Side Diff: simd/jdsamss2-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/jdmrgss2-64.asm ('k') | simd/jiss2flt-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 ; jdsamss2-64.asm - upsampling (64-bit SSE2) 2 ; jdsamss2-64.asm - upsampling (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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 align 16 61 align 16
62 global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE 62 global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE
63 63
64 EXTN(jsimd_h2v1_fancy_upsample_sse2): 64 EXTN(jsimd_h2v1_fancy_upsample_sse2):
65 push rbp 65 push rbp
66 mov rax,rsp 66 mov rax,rsp
67 mov rbp,rsp 67 mov rbp,rsp
68 collect_args 68 collect_args
69 69
70 » mov» rax, r11 ; colctr 70 » mov» eax, r11d ; colctr
71 test rax,rax 71 test rax,rax
72 jz near .return 72 jz near .return
73 73
74 » mov» rcx, r10» ; rowctr 74 » mov» ecx, r10d» ; rowctr
75 test rcx,rcx 75 test rcx,rcx
76 jz near .return 76 jz near .return
77 77
78 mov rsi, r12 ; input_data 78 mov rsi, r12 ; input_data
79 mov rdi, r13 79 mov rdi, r13
80 mov rdi, JSAMPARRAY [rdi] ; output_data 80 mov rdi, JSAMPARRAY [rdi] ; output_data
81 .rowloop: 81 .rowloop:
82 push rax ; colctr 82 push rax ; colctr
83 push rdi 83 push rdi
84 push rsi 84 push rsi
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 499
500 align 16 500 align 16
501 global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE 501 global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE
502 502
503 EXTN(jsimd_h2v1_upsample_sse2): 503 EXTN(jsimd_h2v1_upsample_sse2):
504 push rbp 504 push rbp
505 mov rax,rsp 505 mov rax,rsp
506 mov rbp,rsp 506 mov rbp,rsp
507 collect_args 507 collect_args
508 508
509 » mov» rdx, r11 509 » mov» edx, r11d
510 add rdx, byte (2*SIZEOF_XMMWORD)-1 510 add rdx, byte (2*SIZEOF_XMMWORD)-1
511 and rdx, byte -(2*SIZEOF_XMMWORD) 511 and rdx, byte -(2*SIZEOF_XMMWORD)
512 jz near .return 512 jz near .return
513 513
514 mov rcx, r10 ; rowctr 514 mov rcx, r10 ; rowctr
515 test rcx,rcx 515 test rcx,rcx
516 jz short .return 516 jz short .return
517 517
518 mov rsi, r12 ; input_data 518 mov rsi, r12 ; input_data
519 mov rdi, r13 519 mov rdi, r13
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 align 16 589 align 16
590 global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE 590 global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE
591 591
592 EXTN(jsimd_h2v2_upsample_sse2): 592 EXTN(jsimd_h2v2_upsample_sse2):
593 push rbp 593 push rbp
594 mov rax,rsp 594 mov rax,rsp
595 mov rbp,rsp 595 mov rbp,rsp
596 collect_args 596 collect_args
597 push rbx 597 push rbx
598 598
599 » mov» rdx, r11 599 » mov» edx, r11d
600 add rdx, byte (2*SIZEOF_XMMWORD)-1 600 add rdx, byte (2*SIZEOF_XMMWORD)-1
601 and rdx, byte -(2*SIZEOF_XMMWORD) 601 and rdx, byte -(2*SIZEOF_XMMWORD)
602 jz near .return 602 jz near .return
603 603
604 mov rcx, r10 ; rowctr 604 mov rcx, r10 ; rowctr
605 test rcx,rcx 605 test rcx,rcx
606 jz near .return 606 jz near .return
607 607
608 mov rsi, r12 ; input_data 608 mov rsi, r12 ; input_data
609 mov rdi, r13 609 mov rdi, r13
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 662
663 .return: 663 .return:
664 pop rbx 664 pop rbx
665 uncollect_args 665 uncollect_args
666 pop rbp 666 pop rbp
667 ret 667 ret
668 668
669 ; For some reason, the OS X linker does not honor the request to align the 669 ; For some reason, the OS X linker does not honor the request to align the
670 ; segment unless we do this. 670 ; segment unless we do this.
671 align 16 671 align 16
OLDNEW
« no previous file with comments | « simd/jdmrgss2-64.asm ('k') | simd/jiss2flt-64.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698