diff options
author | James Almer <jamrial@gmail.com> | 2014-02-24 02:34:38 -0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-02-24 08:30:19 +0100 |
commit | 3f3d748cab3805dcc48599a8747976e18da3ab68 (patch) | |
tree | decb3fc4b90870da4562337616d8764b862731f3 /libavcodec/x86/flacdsp.asm | |
parent | 6c6e4dd139159a7dbf1b85f583804b6334ad88c1 (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.asm | 8 |
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 |