| OLD | NEW |
| 1 ; | 1 ; |
| 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
| 3 ; | 3 ; |
| 4 ; Use of this source code is governed by a BSD-style license | 4 ; Use of this source code is governed by a BSD-style license |
| 5 ; that can be found in the LICENSE file in the root of the source | 5 ; that can be found in the LICENSE file in the root of the source |
| 6 ; tree. An additional intellectual property rights grant can be found | 6 ; tree. An additional intellectual property rights grant can be found |
| 7 ; in the file PATENTS. All contributing project authors may | 7 ; in the file PATENTS. All contributing project authors may |
| 8 ; be found in the AUTHORS file in the root of the source tree. | 8 ; be found in the AUTHORS file in the root of the source tree. |
| 9 ; | 9 ; |
| 10 | 10 |
| 11 | 11 |
| 12 %include "vpx_ports/x86_abi_support.asm" | 12 %include "vpx_ports/x86_abi_support.asm" |
| 13 | 13 |
| 14 ;void idct_dequant_0_2x_sse2 | 14 ;void idct_dequant_0_2x_sse2 |
| 15 ; ( | 15 ; ( |
| 16 ; short *qcoeff - 0 | 16 ; short *qcoeff - 0 |
| 17 ; short *dequant - 1 | 17 ; short *dequant - 1 |
| 18 ; unsigned char *pre - 2 | 18 ; unsigned char *pre - 2 |
| 19 ; unsigned char *dst - 3 | 19 ; unsigned char *dst - 3 |
| 20 ; int dst_stride - 4 | 20 ; int dst_stride - 4 |
| 21 ; int blk_stride - 5 | 21 ; int blk_stride - 5 |
| 22 ; ) | 22 ; ) |
| 23 | 23 |
| 24 global sym(idct_dequant_0_2x_sse2) | 24 global sym(idct_dequant_0_2x_sse2) PRIVATE |
| 25 sym(idct_dequant_0_2x_sse2): | 25 sym(idct_dequant_0_2x_sse2): |
| 26 push rbp | 26 push rbp |
| 27 mov rbp, rsp | 27 mov rbp, rsp |
| 28 SHADOW_ARGS_TO_STACK 6 | 28 SHADOW_ARGS_TO_STACK 6 |
| 29 GET_GOT rbx | 29 GET_GOT rbx |
| 30 ; end prolog | 30 ; end prolog |
| 31 | 31 |
| 32 mov rdx, arg(1) ; dequant | 32 mov rdx, arg(1) ; dequant |
| 33 mov rax, arg(0) ; qcoeff | 33 mov rax, arg(0) ; qcoeff |
| 34 | 34 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 | 90 |
| 91 movq [rax], xmm2 | 91 movq [rax], xmm2 |
| 92 movq [rax + rdx], xmm3 | 92 movq [rax + rdx], xmm3 |
| 93 | 93 |
| 94 ; begin epilog | 94 ; begin epilog |
| 95 RESTORE_GOT | 95 RESTORE_GOT |
| 96 UNSHADOW_ARGS | 96 UNSHADOW_ARGS |
| 97 pop rbp | 97 pop rbp |
| 98 ret | 98 ret |
| 99 | 99 |
| 100 global sym(idct_dequant_full_2x_sse2) | 100 global sym(idct_dequant_full_2x_sse2) PRIVATE |
| 101 sym(idct_dequant_full_2x_sse2): | 101 sym(idct_dequant_full_2x_sse2): |
| 102 push rbp | 102 push rbp |
| 103 mov rbp, rsp | 103 mov rbp, rsp |
| 104 SHADOW_ARGS_TO_STACK 7 | 104 SHADOW_ARGS_TO_STACK 7 |
| 105 GET_GOT rbx | 105 GET_GOT rbx |
| 106 push rsi | 106 push rsi |
| 107 push rdi | 107 push rdi |
| 108 ; end prolog | 108 ; end prolog |
| 109 | 109 |
| 110 ; special case when 2 blocks have 0 or 1 coeffs | 110 ; special case when 2 blocks have 0 or 1 coeffs |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 | 353 |
| 354 ;void idct_dequant_dc_0_2x_sse2 | 354 ;void idct_dequant_dc_0_2x_sse2 |
| 355 ; ( | 355 ; ( |
| 356 ; short *qcoeff - 0 | 356 ; short *qcoeff - 0 |
| 357 ; short *dequant - 1 | 357 ; short *dequant - 1 |
| 358 ; unsigned char *pre - 2 | 358 ; unsigned char *pre - 2 |
| 359 ; unsigned char *dst - 3 | 359 ; unsigned char *dst - 3 |
| 360 ; int dst_stride - 4 | 360 ; int dst_stride - 4 |
| 361 ; short *dc - 5 | 361 ; short *dc - 5 |
| 362 ; ) | 362 ; ) |
| 363 global sym(idct_dequant_dc_0_2x_sse2) | 363 global sym(idct_dequant_dc_0_2x_sse2) PRIVATE |
| 364 sym(idct_dequant_dc_0_2x_sse2): | 364 sym(idct_dequant_dc_0_2x_sse2): |
| 365 push rbp | 365 push rbp |
| 366 mov rbp, rsp | 366 mov rbp, rsp |
| 367 SHADOW_ARGS_TO_STACK 7 | 367 SHADOW_ARGS_TO_STACK 7 |
| 368 GET_GOT rbx | 368 GET_GOT rbx |
| 369 push rsi | 369 push rsi |
| 370 push rdi | 370 push rdi |
| 371 ; end prolog | 371 ; end prolog |
| 372 | 372 |
| 373 ; special case when 2 blocks have 0 or 1 coeffs | 373 ; special case when 2 blocks have 0 or 1 coeffs |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 movq [rdi + rdx], xmm3 | 429 movq [rdi + rdx], xmm3 |
| 430 | 430 |
| 431 ; begin epilog | 431 ; begin epilog |
| 432 pop rdi | 432 pop rdi |
| 433 pop rsi | 433 pop rsi |
| 434 RESTORE_GOT | 434 RESTORE_GOT |
| 435 UNSHADOW_ARGS | 435 UNSHADOW_ARGS |
| 436 pop rbp | 436 pop rbp |
| 437 ret | 437 ret |
| 438 | 438 |
| 439 global sym(idct_dequant_dc_full_2x_sse2) | 439 global sym(idct_dequant_dc_full_2x_sse2) PRIVATE |
| 440 sym(idct_dequant_dc_full_2x_sse2): | 440 sym(idct_dequant_dc_full_2x_sse2): |
| 441 push rbp | 441 push rbp |
| 442 mov rbp, rsp | 442 mov rbp, rsp |
| 443 SHADOW_ARGS_TO_STACK 7 | 443 SHADOW_ARGS_TO_STACK 7 |
| 444 GET_GOT rbx | 444 GET_GOT rbx |
| 445 push rsi | 445 push rsi |
| 446 push rdi | 446 push rdi |
| 447 ; end prolog | 447 ; end prolog |
| 448 | 448 |
| 449 ; special case when 2 blocks have 0 or 1 coeffs | 449 ; special case when 2 blocks have 0 or 1 coeffs |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 699 SECTION_RODATA | 699 SECTION_RODATA |
| 700 align 16 | 700 align 16 |
| 701 fours: | 701 fours: |
| 702 times 8 dw 0x0004 | 702 times 8 dw 0x0004 |
| 703 align 16 | 703 align 16 |
| 704 x_s1sqr2: | 704 x_s1sqr2: |
| 705 times 8 dw 0x8A8C | 705 times 8 dw 0x8A8C |
| 706 align 16 | 706 align 16 |
| 707 x_c1sqr2less1: | 707 x_c1sqr2less1: |
| 708 times 8 dw 0x4E7B | 708 times 8 dw 0x4E7B |
| OLD | NEW |