diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2011-05-21 23:36:23 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-05-22 19:27:18 +0200 |
commit | 422b2362fc83ed3a75532ea68a6d167c52f447ec (patch) | |
tree | 6e960264a1be0f40765c1f761c6b574d5e2e7b90 /libavcodec/x86/fmtconvert.asm | |
parent | 165c7c420d611bfa16d999f2033619c542961926 (diff) | |
download | ffmpeg-422b2362fc83ed3a75532ea68a6d167c52f447ec.tar.gz |
dct32_sse: eliminate some spills
125->104 cycles on penryn (x86_64 only)
Diffstat (limited to 'libavcodec/x86/fmtconvert.asm')
-rw-r--r-- | libavcodec/x86/fmtconvert.asm | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/libavcodec/x86/fmtconvert.asm b/libavcodec/x86/fmtconvert.asm index 13d6cc0130..efab87d570 100644 --- a/libavcodec/x86/fmtconvert.asm +++ b/libavcodec/x86/fmtconvert.asm @@ -95,13 +95,6 @@ FLOAT_TO_INT16_INTERLEAVE6 3dn2 ; void ff_float_interleave6(float *dst, const float **src, unsigned int len); ;----------------------------------------------------------------------------- -%macro BUTTERFLYPS 3 - movaps m%3, m%1 - unpcklps m%1, m%2 - unpckhps m%3, m%2 - SWAP %2, %3 -%endmacro - %macro FLOAT_INTERLEAVE6 2 cglobal float_interleave6_%1, 2,7,%2, dst, src, src1, src2, src3, src4, src5 %ifdef ARCH_X86_64 @@ -130,9 +123,9 @@ cglobal float_interleave6_%1, 2,7,%2, dst, src, src1, src2, src3, src4, src5 movaps m4, [srcq+src4q] movaps m5, [srcq+src5q] - BUTTERFLYPS 0, 1, 6 - BUTTERFLYPS 2, 3, 6 - BUTTERFLYPS 4, 5, 6 + SBUTTERFLYPS 0, 1, 6 + SBUTTERFLYPS 2, 3, 6 + SBUTTERFLYPS 4, 5, 6 movaps m6, m4 shufps m4, m0, 0xe4 |