summaryrefslogtreecommitdiff
path: root/libavcodec/x86/flacdsp.asm
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-02-24 02:34:38 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-02-24 08:30:19 +0100
commit3f3d748cab3805dcc48599a8747976e18da3ab68 (patch)
treedecb3fc4b90870da4562337616d8764b862731f3 /libavcodec/x86/flacdsp.asm
parent6c6e4dd139159a7dbf1b85f583804b6334ad88c1 (diff)
x86: Move XOP emulation to x86util
We need the emulation to support the cases where the first argument is the same as the fourth. To achieve this a fifth argument working as a temporary may be needed. Emulation that doesn't obey the original instruction semantics can't be in x86inc. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/flacdsp.asm')
-rw-r--r--libavcodec/x86/flacdsp.asm8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/x86/flacdsp.asm b/libavcodec/x86/flacdsp.asm
index 1a83cd8f8f..37ee87b163 100644
--- a/libavcodec/x86/flacdsp.asm
+++ b/libavcodec/x86/flacdsp.asm
@@ -44,21 +44,21 @@ ALIGN 16
test jq, jq
jz .end_order
.loop_order:
- pmacsdql m2, m0, m1, m2
+ PMACSDQL m2, m0, m1, m2, m0
movd m0, [decodedq+jq*4]
- pmacsdql m3, m1, m0, m3
+ PMACSDQL m3, m1, m0, m3, m1
movd m1, [coeffsq+jq*4]
inc jq
jl .loop_order
.end_order:
- pmacsdql m2, m0, m1, m2
+ PMACSDQL m2, m0, m1, m2, m0
psrlq m2, m4
movd m0, [decodedq]
paddd m0, m2
movd [decodedq], m0
sub lend, 2
jl .ret
- pmacsdql m3, m1, m0, m3
+ PMACSDQL m3, m1, m0, m3, m1
psrlq m3, m4
movd m1, [decodedq+4]
paddd m1, m3