ref: 1fc294116a285d2399e06cc21edd0466ca2c51b2
parent: fc2b06c625fc7d417379f4849d6d2f32ad99d5e4
author: Jan Kratochvil <jan.kratochvil@redhat.com>
date: Mon Oct 4 19:20:38 EDT 2010
nasm: movhps compatibility QWORD->MMWORD Filed for nasm as: https://sourceforge.net/tracker/?func=detail&atid=106208&aid=3081103&group_id=6208 nasm just does not accept any size parameter for movhps: 1.asm:2: error: mismatch in operand sizes Some parts of libvpx already use MMWORD for movhps and MMWORD is defined-out so it is compatible both with yasm and nasm. Provide nasm compatibility. No binary change by this patch with yasm on {x86_64,i686}-fedora13-linux-gnu. Change-Id: I4008a317ca87ec07c9ada958fcdc10a0cb589bbc
--- a/vp8/common/x86/loopfilter_sse2.asm
+++ b/vp8/common/x86/loopfilter_sse2.asm
@@ -1184,11 +1184,11 @@
%endmacro
%macro MBV_WRITEBACK_1 0
- movq QWORD PTR [rsi], xmm0
- movhps QWORD PTR [rdi], xmm0
+ movq QWORD PTR [rsi], xmm0
+ movhps MMWORD PTR [rdi], xmm0
- movq QWORD PTR [rsi+2*rax], xmm6
- movhps QWORD PTR [rdi+2*rax], xmm6
+ movq QWORD PTR [rsi+2*rax], xmm6
+ movhps MMWORD PTR [rdi+2*rax], xmm6
movdqa xmm0, xmm3 ; 73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40
punpckldq xmm0, xmm7 ; 57 56 55 54 53 52 51 50 47 46 45 44 43 42 41 40
@@ -1195,11 +1195,11 @@
punpckhdq xmm3, xmm7 ; 77 76 75 74 73 72 71 70 67 66 65 64 63 62 61 60
- movq QWORD PTR [rsi+4*rax], xmm0
- movhps QWORD PTR [rdi+4*rax], xmm0
+ movq QWORD PTR [rsi+4*rax], xmm0
+ movhps MMWORD PTR [rdi+4*rax], xmm0
- movq QWORD PTR [rsi+2*rcx], xmm3
- movhps QWORD PTR [rdi+2*rcx], xmm3
+ movq QWORD PTR [rsi+2*rcx], xmm3
+ movhps MMWORD PTR [rdi+2*rcx], xmm3
movdqa xmm2, [rdx+64] ; f4 e4 d4 c4 b4 a4 94 84 74 64 54 44 34 24 14 04
punpckhbw xmm2, [rdx+80] ; f5 f4 e5 e4 d5 d4 c5 c4 b5 b4 a5 a4 95 94 85 84
@@ -1217,21 +1217,21 @@
%endmacro
%macro MBV_WRITEBACK_2 0
- movq QWORD PTR [rsi], xmm1
- movhps QWORD PTR [rdi], xmm1
+ movq QWORD PTR [rsi], xmm1
+ movhps MMWORD PTR [rdi], xmm1
- movq QWORD PTR [rsi+2*rax], xmm5
- movhps QWORD PTR [rdi+2*rax], xmm5
+ movq QWORD PTR [rsi+2*rax], xmm5
+ movhps MMWORD PTR [rdi+2*rax], xmm5
movdqa xmm1, xmm4 ; f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0
punpckldq xmm1, xmm2 ; d7 d6 d5 d4 d3 d2 d1 d0 c7 c6 c5 c4 c3 c2 c1 c0
punpckhdq xmm4, xmm2 ; f7 f6 f4 f4 f3 f2 f1 f0 e7 e6 e5 e4 e3 e2 e1 e0
- movq QWORD PTR [rsi+4*rax], xmm1
- movhps QWORD PTR [rdi+4*rax], xmm1
+ movq QWORD PTR [rsi+4*rax], xmm1
+ movhps MMWORD PTR [rdi+4*rax], xmm1
- movq QWORD PTR [rsi+2*rcx], xmm4
- movhps QWORD PTR [rdi+2*rcx], xmm4
+ movq QWORD PTR [rsi+2*rcx], xmm4
+ movhps MMWORD PTR [rdi+2*rcx], xmm4
%endmacro