ref: 7d243701d986b8b7fa2d3148e7a09b52cffd272a
parent: c2a8d8b54c7ebefd1cd9c55f53b9e8378f088e8b
author: Philip Jägenstedt <philipj@opera.com>
date: Tue Jul 13 07:43:51 EDT 2010
Replace pinsrw (SSE) with MMX instructions Fixes http://code.google.com/p/webm/issues/detail?id=136 Change-Id: I5a3e294061644a1a9718e8ba4a39548ede25cc42
--- a/vp8/decoder/x86/dequantize_mmx.asm
+++ b/vp8/decoder/x86/dequantize_mmx.asm
@@ -261,8 +261,6 @@
mov rax, arg(0) ;input
mov rdx, arg(1) ;dq
- movsxd rcx, dword ptr arg(6) ;Dc
-
movq mm0, [rax ]
pmullw mm0, [rdx]
@@ -286,8 +284,13 @@
movq [rax+16],mm7
movq [rax+24],mm7
+ ; move lower word of Dc to lower word of mm0
+ psrlq mm0, 16
+ movzx rcx, word ptr arg(6) ;Dc
+ psllq mm0, 16
+ movd mm7, rcx
+ por mm0, mm7
- pinsrw mm0, rcx, 0
movsxd rax, dword ptr arg(4) ;pitch
movsxd rdi, dword ptr arg(5) ;stride