diff options
Diffstat (limited to 'vp8/common/x86/recon_sse2.asm')
-rw-r--r-- | vp8/common/x86/recon_sse2.asm | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/vp8/common/x86/recon_sse2.asm b/vp8/common/x86/recon_sse2.asm index f54cc4e7e..a82c1b4fd 100644 --- a/vp8/common/x86/recon_sse2.asm +++ b/vp8/common/x86/recon_sse2.asm @@ -10,121 +10,6 @@ %include "vpx_ports/x86_abi_support.asm" -;void vp8_recon2b_sse2(unsigned char *s, short *q, unsigned char *d, int stride) -global sym(vp8_recon2b_sse2) -sym(vp8_recon2b_sse2): - push rbp - mov rbp, rsp - SHADOW_ARGS_TO_STACK 4 - push rsi - push rdi - ; end prolog - - mov rsi, arg(0) ;s - mov rdi, arg(2) ;d - mov rdx, arg(1) ;q - movsxd rax, dword ptr arg(3) ;stride - pxor xmm0, xmm0 - - movq xmm1, MMWORD PTR [rsi] - punpcklbw xmm1, xmm0 - paddsw xmm1, XMMWORD PTR [rdx] - packuswb xmm1, xmm0 ; pack and unpack to saturate - movq MMWORD PTR [rdi], xmm1 - - - movq xmm2, MMWORD PTR [rsi+8] - punpcklbw xmm2, xmm0 - paddsw xmm2, XMMWORD PTR [rdx+16] - packuswb xmm2, xmm0 ; pack and unpack to saturate - movq MMWORD PTR [rdi+rax], xmm2 - - - movq xmm3, MMWORD PTR [rsi+16] - punpcklbw xmm3, xmm0 - paddsw xmm3, XMMWORD PTR [rdx+32] - packuswb xmm3, xmm0 ; pack and unpack to saturate - movq MMWORD PTR [rdi+rax*2], xmm3 - - add rdi, rax - movq xmm4, MMWORD PTR [rsi+24] - punpcklbw xmm4, xmm0 - paddsw xmm4, XMMWORD PTR [rdx+48] - packuswb xmm4, xmm0 ; pack and unpack to saturate - movq MMWORD PTR [rdi+rax*2], xmm4 - - ; begin epilog - pop rdi - pop rsi - UNSHADOW_ARGS - pop rbp - ret - - -;void vp8_recon4b_sse2(unsigned char *s, short *q, unsigned char *d, int stride) -global sym(vp8_recon4b_sse2) -sym(vp8_recon4b_sse2): - push rbp - mov rbp, rsp - SHADOW_ARGS_TO_STACK 4 - SAVE_XMM 7 - push rsi - push rdi - ; end prolog - - mov rsi, arg(0) ;s - mov rdi, arg(2) ;d - mov rdx, arg(1) ;q - movsxd rax, dword ptr arg(3) ;stride - pxor xmm0, xmm0 - - movdqa xmm1, XMMWORD PTR [rsi] - movdqa xmm5, xmm1 - punpcklbw xmm1, xmm0 - punpckhbw xmm5, xmm0 - paddsw xmm1, XMMWORD PTR [rdx] - paddsw xmm5, XMMWORD PTR [rdx+16] - packuswb xmm1, xmm5 ; pack and unpack to saturate - movdqa XMMWORD PTR [rdi], xmm1 - - - movdqa xmm2, XMMWORD PTR [rsi+16] - movdqa xmm6, xmm2 - punpcklbw xmm2, xmm0 - punpckhbw xmm6, xmm0 - paddsw xmm2, XMMWORD PTR [rdx+32] - paddsw xmm6, XMMWORD PTR [rdx+48] - packuswb xmm2, xmm6 ; pack and unpack to saturate - movdqa XMMWORD PTR [rdi+rax], xmm2 - - - movdqa xmm3, XMMWORD PTR [rsi+32] - movdqa xmm7, xmm3 - punpcklbw xmm3, xmm0 - punpckhbw xmm7, xmm0 - paddsw xmm3, XMMWORD PTR [rdx+64] - paddsw xmm7, XMMWORD PTR [rdx+80] - packuswb xmm3, xmm7 ; pack and unpack to saturate - movdqa XMMWORD PTR [rdi+rax*2], xmm3 - - add rdi, rax - movdqa xmm4, XMMWORD PTR [rsi+48] - movdqa xmm5, xmm4 - punpcklbw xmm4, xmm0 - punpckhbw xmm5, xmm0 - paddsw xmm4, XMMWORD PTR [rdx+96] - paddsw xmm5, XMMWORD PTR [rdx+112] - packuswb xmm4, xmm5 ; pack and unpack to saturate - movdqa XMMWORD PTR [rdi+rax*2], xmm4 - - ; begin epilog - pop rdi - pop rsi - RESTORE_XMM - UNSHADOW_ARGS - pop rbp - ret - ;void copy_mem16x16_sse2( ; unsigned char *src, |