summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-05-03 11:57:59 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-05-03 11:57:59 +0200
commite91339cde25afff244b1f5cb2fc206f3dc9570d8 (patch)
treefc23bde73da66645989c6941f069774a640cb009 /libavutil
parent550defe16eeae2819f19751d9e323713999d9a65 (diff)
parent566b7a20fd0cab44d344329538d314454a0bcc2f (diff)
Merge commit '566b7a20fd0cab44d344329538d314454a0bcc2f'
* commit '566b7a20fd0cab44d344329538d314454a0bcc2f': x86: float dsp: butterflies_float SSE Conflicts: libavutil/x86/float_dsp.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/x86/float_dsp.asm32
1 files changed, 17 insertions, 15 deletions
diff --git a/libavutil/x86/float_dsp.asm b/libavutil/x86/float_dsp.asm
index 1c280589af..49d4876447 100644
--- a/libavutil/x86/float_dsp.asm
+++ b/libavutil/x86/float_dsp.asm
@@ -268,21 +268,23 @@ cglobal scalarproduct_float, 3,3,2, v1, v2, offset
;-----------------------------------------------------------------------------
INIT_XMM sse
cglobal butterflies_float, 3,3,3, src0, src1, len
- movsxdifnidn lenq, lend
- test lenq, lenq
- jz .end
- shl lenq, 2
- add src0q, lenq
- add src1q, lenq
- neg lenq
+%if ARCH_X86_64
+ movsxd lenq, lend
+%endif
+ test lenq, lenq
+ jz .end
+ shl lenq, 2
+ add src0q, lenq
+ add src1q, lenq
+ neg lenq
.loop:
- mova m0, [src0q + lenq]
- mova m1, [src1q + lenq]
- subps m2, m0, m1
- addps m0, m0, m1
- mova [src1q + lenq], m2
- mova [src0q + lenq], m0
- add lenq, mmsize
- jl .loop
+ mova m0, [src0q + lenq]
+ mova m1, [src1q + lenq]
+ subps m2, m0, m1
+ addps m0, m0, m1
+ mova [src1q + lenq], m2
+ mova [src0q + lenq], m0
+ add lenq, mmsize
+ jl .loop
.end:
REP_RET