Merge branch 'master' of ssh://superjoe30@lmms.git.sourceforge.net/gitroot/lmms

This commit is contained in:
Andrew Kelley
2009-03-05 23:21:58 -07:00
7 changed files with 643 additions and 636 deletions

View File

@@ -1,7 +1,7 @@
/*
* midi_import.cpp - support for importing MIDI-files
*
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -26,6 +26,7 @@
#include <QtXml/QDomDocument>
#include <QtCore/QDir>
#include <QtGui/QApplication>
#include <QtGui/QMessageBox>
#include <QtGui/QProgressDialog>
#include "midi_import.h"
@@ -92,6 +93,18 @@ bool midiImport::tryImport( trackContainer * _tc )
{
return( FALSE );
}
if( engine::hasGUI() &&
configManager::inst()->defaultSoundfont().isEmpty() )
{
QMessageBox::information( engine::getMainWindow(),
tr( "Setup incomplete" ),
tr( "You do not have set up a default soundfont in "
"the settings dialog (Edit->Settings). "
"Therefore no sound will be played back after "
"importing this MIDI file. You should download "
"a General MIDI soundfont, specify it in "
"settings dialog and try again." ) );
}
switch( readID() )
{
@@ -201,7 +214,7 @@ public:
{
isSF2 = true;
it_inst->loadFile( configManager::inst()->defaultSoundfont() );
it_inst->getChildModel( "bank" )->setValue( 128 );
it_inst->getChildModel( "bank" )->setValue( 0 );
it_inst->getChildModel( "patch" )->setValue( 0 );
}
else
@@ -471,51 +484,6 @@ bool midiImport::readSMF( trackContainer * _tc )
}
return true;
/*
// the curren position is immediately after the "MThd" id
int header_len = readInt( 4 );
if( header_len < 6 )
{
invalid_format:
printf( "midiImport::readSMF(): invalid file format\n" );
return( FALSE );
}
int type = readInt( 2 );
if( type != 0 && type != 1 )
{
printf( "midiImport::readSMF(): type %d format is not "
"supported\n", type );
return( FALSE );
}
int num_tracks = readInt( 2 );
if( num_tracks < 1 || num_tracks > 1000 )
{
printf( "midiImport::readSMF(): invalid number of tracks (%d)\n",
num_tracks );
num_tracks = 0;
return( FALSE );
}
#ifdef LMMS_DEBUG
printf( "tracks: %d\n", num_tracks );
#endif
m_timingDivision = readInt( 2 );
if( m_timingDivision < 0 )
{
goto invalid_format;
}
#ifdef LMMS_DEBUG
printf( "time-division: %d\n", m_timingDivision );
#endif
*/
}

View File

@@ -36,14 +36,14 @@ alignedMemCpySSE:
.type alignedMemClearSSE, @function
alignedMemClearSSE:
.LFB510:
movslq %esi,%rax
shrq $6, %rax
testl %eax, %eax
movslq %esi,%rsi
shrq $6, %rsi
testl %esi, %esi
jle .L10
subl $1, %eax
subl $1, %esi
xorps %xmm0, %xmm0
salq $6, %rax
leaq 64(%rax,%rdi), %rax
salq $6, %rsi
leaq 64(%rdi,%rsi), %rax
.align 16
.L9:
movaps %xmm0, (%rdi)
@@ -65,23 +65,23 @@ alignedBufApplyGainSSE:
.LFB511:
testl %esi, %esi
jle .L15
subl $1, %esi
leal -1(%rsi), %edx
shufps $0, %xmm0, %xmm0
shrl $3, %esi
xorl %eax, %eax
leal 1(%rsi), %edx
shrl $3, %edx
addl $1, %edx
.align 16
.L14:
movaps %xmm0, %xmm3
movaps 16(%rdi), %xmm3
addl $1, %eax
movaps %xmm0, %xmm2
movaps %xmm0, %xmm1
movaps %xmm0, %xmm4
mulps 16(%rdi), %xmm3
mulps 32(%rdi), %xmm2
mulps 48(%rdi), %xmm1
mulps (%rdi), %xmm4
movaps 32(%rdi), %xmm2
mulps %xmm0, %xmm3
movaps 48(%rdi), %xmm1
mulps %xmm0, %xmm2
movaps (%rdi), %xmm4
mulps %xmm0, %xmm1
movaps %xmm3, 16(%rdi)
mulps %xmm0, %xmm4
movaps %xmm2, 32(%rdi)
movaps %xmm1, 48(%rdi)
movaps %xmm4, (%rdi)
@@ -100,11 +100,11 @@ alignedBufMixSSE:
.LFB512:
testl %edx, %edx
jle .L20
subl $1, %edx
leal -1(%rdx), %ecx
xorl %eax, %eax
shrl $3, %edx
leal 1(%rdx), %ecx
xorl %edx, %edx
shrl $3, %ecx
addl $1, %ecx
.align 16
.L19:
movaps 16(%rdi,%rax), %xmm2
@@ -136,23 +136,23 @@ alignedBufMixLRCoeffSSE:
testl %edx, %edx
jle .L25
unpcklps %xmm1, %xmm0
subl $1, %edx
shrl $2, %edx
leal -1(%rdx), %ecx
xorl %eax, %eax
leal 1(%rdx), %ecx
xorl %edx, %edx
shrl $2, %ecx
movlhps %xmm0, %xmm0
addl $1, %ecx
.align 16
.L24:
movaps %xmm0, %xmm1
movaps 16(%rsi,%rax), %xmm2
addl $1, %edx
movaps %xmm0, %xmm2
mulps 16(%rsi,%rax), %xmm1
mulps (%rsi,%rax), %xmm2
addps 16(%rdi,%rax), %xmm1
addps (%rdi,%rax), %xmm2
movaps %xmm1, 16(%rdi,%rax)
movaps %xmm2, (%rdi,%rax)
movaps (%rsi,%rax), %xmm3
mulps %xmm0, %xmm2
mulps %xmm0, %xmm3
addps 16(%rdi,%rax), %xmm2
addps (%rdi,%rax), %xmm3
movaps %xmm2, 16(%rdi,%rax)
movaps %xmm3, (%rdi,%rax)
addq $32, %rax
cmpl %edx, %ecx
ja .L24
@@ -168,25 +168,25 @@ alignedBufWetDryMixSSE:
.LFB515:
testl %edx, %edx
jle .L30
subl $1, %edx
leal -1(%rdx), %ecx
shufps $0, %xmm1, %xmm1
shufps $0, %xmm0, %xmm0
shrl $2, %edx
leal 1(%rdx), %ecx
xorl %eax, %eax
shrl $2, %ecx
xorl %edx, %edx
addl $1, %ecx
.align 16
.L29:
movaps %xmm1, %xmm3
movaps 16(%rsi,%rax), %xmm3
addl $1, %edx
movaps %xmm0, %xmm2
mulps 16(%rdi,%rax), %xmm3
movaps %xmm1, %xmm4
mulps 16(%rsi,%rax), %xmm2
mulps (%rdi,%rax), %xmm4
movaps 16(%rdi,%rax), %xmm2
mulps %xmm0, %xmm3
movaps (%rsi,%rax), %xmm4
mulps %xmm1, %xmm2
mulps %xmm0, %xmm4
addps %xmm3, %xmm2
movaps %xmm0, %xmm3
mulps (%rsi,%rax), %xmm3
movaps (%rdi,%rax), %xmm3
mulps %xmm1, %xmm3
movaps %xmm2, 16(%rdi,%rax)
addps %xmm4, %xmm3
movaps %xmm3, (%rdi,%rax)
@@ -226,84 +226,80 @@ alignedBufWetDryMixSplittedSSE:
.L34:
movaps %xmm1, %xmm2
movq %rdi, %rax
xorps %xmm6, %xmm6
xorps %xmm10, %xmm10
movq %rsi, %r9
shufps $0, %xmm2, %xmm2
movq %rdx, %r8
xorl %r10d, %r10d
movaps %xmm2, %xmm8
movaps %xmm2, %xmm12
movaps %xmm0, %xmm2
shufps $0, %xmm2, %xmm2
movaps %xmm2, %xmm7
movaps %xmm2, %xmm11
.align 16
.L37:
movaps (%rax), %xmm12
movaps (%rax), %xmm2
addl $1, %r10d
movaps %xmm6, %xmm3
movaps %xmm10, %xmm9
movaps 16(%rax), %xmm5
movaps %xmm12, %xmm14
movlps (%r8), %xmm3
movaps 32(%rax), %xmm9
shufps $136, %xmm5, %xmm14
shufps $221, %xmm5, %xmm12
movhps 8(%r8), %xmm3
movaps 48(%rax), %xmm4
movaps %xmm9, %xmm13
movaps %xmm6, %xmm5
shufps $221, %xmm4, %xmm9
movlps (%r9), %xmm5
shufps $136, %xmm4, %xmm13
movaps %xmm6, %xmm4
movhps 8(%r9), %xmm5
movaps %xmm14, %xmm11
movlps 16(%r9), %xmm4
movaps %xmm12, %xmm15
movaps %xmm5, %xmm2
movhps 24(%r9), %xmm4
shufps $136, %xmm13, %xmm11
movaps %xmm3, %xmm10
movaps %xmm2, %xmm4
movlps (%r9), %xmm9
movaps %xmm10, %xmm8
movaps 32(%rax), %xmm14
shufps $136, %xmm5, %xmm4
movhps 8(%r9), %xmm9
movaps 48(%rax), %xmm3
movaps %xmm14, %xmm15
movlps 16(%r9), %xmm8
shufps $221, %xmm5, %xmm2
shufps $136, %xmm3, %xmm15
movhps 24(%r9), %xmm8
shufps $221, %xmm3, %xmm14
movaps %xmm4, %xmm5
addq $32, %r9
shufps $136, %xmm4, %xmm2
mulps %xmm8, %xmm11
mulps %xmm7, %xmm2
shufps $221, %xmm13, %xmm14
shufps $136, %xmm9, %xmm15
shufps $221, %xmm4, %xmm5
addps %xmm2, %xmm11
movaps %xmm6, %xmm2
shufps $221, %xmm9, %xmm12
movlps 16(%r8), %xmm2
mulps %xmm8, %xmm14
movhps 24(%r8), %xmm2
mulps %xmm7, %xmm5
movaps %xmm11, %xmm9
movaps %xmm9, %xmm3
shufps $136, %xmm15, %xmm5
movaps %xmm10, %xmm7
shufps $136, %xmm8, %xmm3
movlps (%r8), %xmm7
movaps %xmm10, %xmm6
mulps %xmm12, %xmm5
movhps 8(%r8), %xmm7
mulps %xmm11, %xmm3
movlps 16(%r8), %xmm6
movaps %xmm7, %xmm13
movhps 24(%r8), %xmm6
shufps $221, %xmm15, %xmm4
shufps $221, %xmm8, %xmm9
addq $32, %r8
shufps $136, %xmm2, %xmm10
shufps $221, %xmm2, %xmm3
movaps %xmm14, %xmm4
mulps %xmm8, %xmm15
addps %xmm5, %xmm4
mulps %xmm7, %xmm10
movaps %xmm11, %xmm5
mulps %xmm8, %xmm12
mulps %xmm7, %xmm3
addps %xmm15, %xmm10
unpcklps %xmm4, %xmm9
movaps %xmm12, %xmm2
shufps $136, %xmm6, %xmm13
addps %xmm3, %xmm5
movaps %xmm2, %xmm3
shufps $221, %xmm6, %xmm7
shufps $136, %xmm14, %xmm3
shufps $221, %xmm14, %xmm2
mulps %xmm11, %xmm13
movaps %xmm5, %xmm6
mulps %xmm12, %xmm3
mulps %xmm12, %xmm4
mulps %xmm11, %xmm9
addps %xmm13, %xmm3
mulps %xmm12, %xmm2
mulps %xmm11, %xmm7
addps %xmm9, %xmm4
addps %xmm7, %xmm2
unpcklps %xmm4, %xmm6
unpckhps %xmm4, %xmm5
addps %xmm3, %xmm2
movaps %xmm10, %xmm4
movaps %xmm10, %xmm3
movaps %xmm3, %xmm4
unpcklps %xmm2, %xmm4
unpckhps %xmm2, %xmm3
movaps %xmm9, %xmm2
movaps %xmm6, %xmm2
unpcklps %xmm4, %xmm2
unpckhps %xmm4, %xmm9
unpckhps %xmm4, %xmm6
movaps %xmm2, (%rax)
movaps %xmm5, %xmm2
unpckhps %xmm3, %xmm5
unpcklps %xmm3, %xmm2
movaps %xmm9, 16(%rax)
movaps %xmm6, 16(%rax)
movaps %xmm2, 32(%rax)
movaps %xmm5, 48(%rax)
addq $64, %rax
@@ -325,34 +321,34 @@ alignedBufWetDryMixSplittedSSE:
addq %rbx, %rdx
.align 16
.L38:
movaps %xmm1, %xmm3
movss (%r11), %xmm3
addl $2, %r9d
movaps %xmm0, %xmm2
mulss (%r8), %xmm3
mulss (%r11), %xmm2
movss (%r8), %xmm2
mulss %xmm0, %xmm3
mulss %xmm1, %xmm2
addq $8, %r11
addss %xmm3, %xmm2
movaps %xmm1, %xmm3
mulss 4(%r8), %xmm3
movss %xmm2, (%r8)
movaps %xmm0, %xmm2
mulss (%r10), %xmm2
movss 4(%r8), %xmm2
movss (%r10), %xmm3
mulss %xmm1, %xmm2
addq $8, %r10
mulss %xmm0, %xmm3
addss %xmm3, %xmm2
movaps %xmm1, %xmm3
movss %xmm2, 4(%r8)
movaps %xmm0, %xmm2
addq $16, %r8
mulss (%rax), %xmm3
mulss (%rsi), %xmm2
movss (%rsi), %xmm3
addq $8, %rsi
movss (%rax), %xmm2
mulss %xmm0, %xmm3
mulss %xmm1, %xmm2
addss %xmm3, %xmm2
movaps %xmm1, %xmm3
mulss 4(%rax), %xmm3
movss %xmm2, (%rax)
movaps %xmm0, %xmm2
mulss (%rdx), %xmm2
movss 4(%rax), %xmm2
movss (%rdx), %xmm3
mulss %xmm1, %xmm2
addq $8, %rdx
mulss %xmm0, %xmm3
addss %xmm3, %xmm2
movss %xmm2, 4(%rax)
addq $16, %rax
@@ -369,11 +365,11 @@ alignedBufWetDryMixSplittedSSE:
.type unalignedBufMixLRCoeffSSE, @function
unalignedBufMixLRCoeffSSE:
.LFB514:
movl %edx, %eax
shrl $31, %eax
leal (%rdx,%rax), %ecx
andl $1, %ecx
cmpl %eax, %ecx
movl %edx, %ecx
shrl $31, %ecx
leal (%rdx,%rcx), %eax
andl $1, %eax
cmpl %ecx, %eax
jne .L52
.L44:
testl %edx, %edx
@@ -413,20 +409,20 @@ unalignedBufMixLRCoeffSSE:
salq $4, %rdx
.align 16
.L48:
movaps %xmm0, %xmm2
mulss (%rsi,%rax), %xmm2
movss (%rsi,%rax), %xmm2
mulss %xmm0, %xmm2
addss (%rdi,%rax), %xmm2
movss %xmm2, (%rdi,%rax)
movaps %xmm1, %xmm2
mulss 4(%rsi,%rax), %xmm2
movss 4(%rsi,%rax), %xmm2
mulss %xmm1, %xmm2
addss 4(%rdi,%rax), %xmm2
movss %xmm2, 4(%rdi,%rax)
movaps %xmm0, %xmm2
mulss 8(%rsi,%rax), %xmm2
movss 8(%rsi,%rax), %xmm2
mulss %xmm0, %xmm2
addss 8(%rdi,%rax), %xmm2
movss %xmm2, 8(%rdi,%rax)
movaps %xmm1, %xmm2
mulss 12(%rsi,%rax), %xmm2
movss 12(%rsi,%rax), %xmm2
mulss %xmm1, %xmm2
addss 12(%rdi,%rax), %xmm2
movss %xmm2, 12(%rdi,%rax)
addq $16, %rax
@@ -436,17 +432,15 @@ unalignedBufMixLRCoeffSSE:
rep
ret
.L52:
movaps %xmm0, %xmm2
movss (%rsi), %xmm2
subl $1, %edx
movss (%rdi), %xmm3
mulss (%rsi), %xmm2
addss %xmm3, %xmm2
movss 4(%rdi), %xmm3
mulss %xmm0, %xmm2
addss (%rdi), %xmm2
movss %xmm2, (%rdi)
movaps %xmm1, %xmm2
mulss 4(%rsi), %xmm2
movss 4(%rsi), %xmm2
addq $8, %rsi
addss %xmm3, %xmm2
mulss %xmm1, %xmm2
addss 4(%rdi), %xmm2
movss %xmm2, 4(%rdi)
addq $8, %rdi
jmp .L44
@@ -558,4 +552,4 @@ unalignedBufMixLRCoeffSSE:
.byte 0x0
.align 8
.LEFDE15:
.ident "GCC: (GNU) 4.4.0 20081204 (experimental)"
.ident "GCC: (GNU) 4.4.0 20090304 (experimental)"

View File

@@ -36,14 +36,14 @@ alignedMemCpySSE2:
.type alignedMemClearSSE2, @function
alignedMemClearSSE2:
.LFB510:
movslq %esi,%rax
shrq $6, %rax
testl %eax, %eax
movslq %esi,%rsi
shrq $6, %rsi
testl %esi, %esi
jle .L10
subl $1, %eax
subl $1, %esi
pxor %xmm0, %xmm0
salq $6, %rax
leaq 64(%rax,%rdi), %rax
salq $6, %rsi
leaq 64(%rdi,%rsi), %rax
.align 16
.L9:
movdqa %xmm0, (%rdi)
@@ -89,11 +89,11 @@ alignedConvertToS16SSE2:
movl $-32768, %edi
.align 16
.L25:
movaps %xmm0, %xmm1
mulss (%rcx), %xmm1
movss (%rcx), %xmm1
mulss %xmm0, %xmm1
cvttss2si %xmm1, %esi
movaps %xmm0, %xmm1
mulss 4(%rcx), %xmm1
movss 4(%rcx), %xmm1
mulss %xmm0, %xmm1
cmpl $-32768, %esi
cmovl %edi, %esi
cmpl $32767, %esi
@@ -136,11 +136,11 @@ alignedConvertToS16SSE2:
movl $32767, %esi
.align 16
.L20:
movaps %xmm0, %xmm1
mulss (%rcx), %xmm1
movss (%rcx), %xmm1
mulss %xmm0, %xmm1
cvttss2si %xmm1, %ebx
movaps %xmm0, %xmm1
mulss 4(%rcx), %xmm1
movss 4(%rcx), %xmm1
mulss %xmm0, %xmm1
cmpl $-32768, %ebx
cmovl %edi, %ebx
cmpl $32767, %ebx
@@ -176,71 +176,71 @@ alignedConvertToS16SSE2:
je .L27
movaps %xmm0, %xmm1
movq %rdi, %rcx
movdqa .LC1(%rip), %xmm2
movdqa .LC1(%rip), %xmm4
movq %rsi, %r10
shufps $0, %xmm1, %xmm1
xorl %r9d, %r9d
movdqa .LC3(%rip), %xmm8
movdqa .LC2(%rip), %xmm3
movaps %xmm1, %xmm9
movdqa .LC2(%rip), %xmm1
movdqa .LC3(%rip), %xmm8
.align 16
.L19:
movaps %xmm9, %xmm4
movaps (%rcx), %xmm1
addl $1, %r9d
movaps %xmm9, %xmm3
mulps (%rcx), %xmm4
movdqa %xmm1, %xmm6
mulps 16(%rcx), %xmm3
movdqa %xmm3, %xmm5
mulps %xmm9, %xmm1
movaps 16(%rcx), %xmm6
movdqa %xmm3, %xmm7
addq $32, %rcx
cvttps2dq %xmm4, %xmm4
movdqa %xmm4, %xmm5
pcmpgtd %xmm2, %xmm5
cvttps2dq %xmm3, %xmm3
pand %xmm5, %xmm4
pandn %xmm2, %xmm5
por %xmm5, %xmm4
movdqa %xmm4, %xmm5
pcmpgtd %xmm1, %xmm5
pand %xmm5, %xmm6
pandn %xmm4, %xmm5
movdqa %xmm5, %xmm4
movdqa %xmm3, %xmm5
por %xmm6, %xmm4
movdqa %xmm1, %xmm6
pcmpgtd %xmm2, %xmm5
pand %xmm5, %xmm3
pandn %xmm2, %xmm5
movdqa %xmm4, %xmm7
pslld $8, %xmm4
pand %xmm8, %xmm7
por %xmm5, %xmm3
psrad $8, %xmm7
movdqa %xmm3, %xmm5
pcmpgtd %xmm1, %xmm5
pand %xmm5, %xmm6
pandn %xmm3, %xmm5
movdqa %xmm5, %xmm3
por %xmm6, %xmm3
movdqa %xmm7, %xmm6
movdqa %xmm3, %xmm5
pslld $8, %xmm3
mulps %xmm9, %xmm6
cvttps2dq %xmm1, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm4, %xmm2
cvttps2dq %xmm6, %xmm6
pand %xmm2, %xmm1
pandn %xmm4, %xmm2
por %xmm1, %xmm2
movdqa %xmm2, %xmm1
pcmpgtd %xmm3, %xmm1
pand %xmm1, %xmm5
pandn %xmm2, %xmm1
movdqa %xmm1, %xmm2
movdqa %xmm6, %xmm1
por %xmm5, %xmm2
pcmpgtd %xmm4, %xmm1
pand %xmm1, %xmm6
pandn %xmm4, %xmm1
movdqa %xmm2, %xmm5
pslld $8, %xmm2
pand %xmm8, %xmm5
por %xmm6, %xmm1
psrad $8, %xmm5
punpcklwd %xmm5, %xmm7
punpckhwd %xmm5, %xmm6
movdqa %xmm4, %xmm5
punpcklwd %xmm3, %xmm4
movdqa %xmm7, %xmm10
punpckhwd %xmm3, %xmm5
punpcklwd %xmm6, %xmm7
punpckhwd %xmm6, %xmm10
punpcklwd %xmm10, %xmm7
movdqa %xmm4, %xmm10
punpcklwd %xmm5, %xmm4
punpckhwd %xmm5, %xmm10
punpcklwd %xmm10, %xmm4
por %xmm7, %xmm4
movdqa %xmm4, (%r10)
movdqa %xmm1, %xmm6
pcmpgtd %xmm3, %xmm6
pand %xmm6, %xmm7
pandn %xmm1, %xmm6
movdqa %xmm6, %xmm1
por %xmm7, %xmm1
movdqa %xmm5, %xmm7
movdqa %xmm1, %xmm6
pslld $8, %xmm1
pand %xmm8, %xmm6
psrad $8, %xmm6
punpcklwd %xmm6, %xmm5
punpckhwd %xmm6, %xmm7
movdqa %xmm5, %xmm6
punpcklwd %xmm7, %xmm5
punpckhwd %xmm7, %xmm6
punpcklwd %xmm6, %xmm5
movdqa %xmm2, %xmm6
punpcklwd %xmm1, %xmm2
punpckhwd %xmm1, %xmm6
movdqa %xmm2, %xmm1
punpcklwd %xmm6, %xmm2
punpckhwd %xmm6, %xmm1
punpcklwd %xmm1, %xmm2
por %xmm2, %xmm5
movdqa %xmm5, (%r10)
addq $16, %r10
cmpw %r9w, %bx
ja .L19
@@ -253,54 +253,54 @@ alignedConvertToS16SSE2:
je .L28
movaps %xmm0, %xmm1
movq %rdi, %rcx
movdqa .LC1(%rip), %xmm2
movdqa .LC1(%rip), %xmm4
movq %rsi, %r10
shufps $0, %xmm1, %xmm1
xorl %r9d, %r9d
movdqa .LC2(%rip), %xmm3
movaps %xmm1, %xmm6
movdqa .LC2(%rip), %xmm1
.align 16
.L24:
movaps %xmm6, %xmm4
movaps (%rcx), %xmm1
addl $1, %r9d
movaps %xmm6, %xmm3
mulps (%rcx), %xmm4
movdqa %xmm1, %xmm7
mulps 16(%rcx), %xmm3
movdqa %xmm3, %xmm7
mulps %xmm6, %xmm1
movaps 16(%rcx), %xmm5
addq $32, %rcx
cvttps2dq %xmm4, %xmm4
movdqa %xmm4, %xmm5
pcmpgtd %xmm2, %xmm5
cvttps2dq %xmm3, %xmm3
pand %xmm5, %xmm4
pandn %xmm2, %xmm5
por %xmm5, %xmm4
movdqa %xmm4, %xmm5
pcmpgtd %xmm1, %xmm5
mulps %xmm6, %xmm5
cvttps2dq %xmm1, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm4, %xmm2
cvttps2dq %xmm5, %xmm5
pand %xmm2, %xmm1
pandn %xmm4, %xmm2
por %xmm1, %xmm2
movdqa %xmm2, %xmm1
pcmpgtd %xmm3, %xmm1
pand %xmm1, %xmm7
pandn %xmm2, %xmm1
movdqa %xmm1, %xmm2
movdqa %xmm5, %xmm1
por %xmm7, %xmm2
movdqa %xmm3, %xmm7
pcmpgtd %xmm4, %xmm1
pand %xmm1, %xmm5
pandn %xmm4, %xmm1
por %xmm5, %xmm1
movdqa %xmm1, %xmm5
pcmpgtd %xmm3, %xmm5
pand %xmm5, %xmm7
pandn %xmm4, %xmm5
movdqa %xmm5, %xmm4
movdqa %xmm3, %xmm5
por %xmm7, %xmm4
movdqa %xmm1, %xmm7
pcmpgtd %xmm2, %xmm5
pand %xmm5, %xmm3
pandn %xmm2, %xmm5
por %xmm5, %xmm3
movdqa %xmm3, %xmm5
pcmpgtd %xmm1, %xmm5
pand %xmm5, %xmm7
pandn %xmm3, %xmm5
movdqa %xmm5, %xmm3
movdqa %xmm4, %xmm5
por %xmm7, %xmm3
punpcklwd %xmm3, %xmm4
punpckhwd %xmm3, %xmm5
movdqa %xmm4, %xmm7
punpcklwd %xmm5, %xmm4
punpckhwd %xmm5, %xmm7
punpcklwd %xmm7, %xmm4
movdqa %xmm4, (%r10)
pandn %xmm1, %xmm5
movdqa %xmm5, %xmm1
movdqa %xmm2, %xmm5
por %xmm7, %xmm1
punpcklwd %xmm1, %xmm2
punpckhwd %xmm1, %xmm5
movdqa %xmm2, %xmm1
punpcklwd %xmm5, %xmm2
punpckhwd %xmm5, %xmm1
punpcklwd %xmm1, %xmm2
movdqa %xmm2, (%r10)
addq $16, %r10
cmpw %r9w, %bx
ja .L24
@@ -392,4 +392,4 @@ alignedConvertToS16SSE2:
.byte 0x2
.align 8
.LEFDE5:
.ident "GCC: (GNU) 4.4.0 20081204 (experimental)"
.ident "GCC: (GNU) 4.4.0 20090304 (experimental)"

View File

@@ -10,11 +10,11 @@ alignedMemCpyMMX:
movl 124(%esp), %eax
shrl $6, %ebx
#APP
# 42 "/home/toby/development/svn/lmms-trunk/src/core/basic_ops_x86.c" 1
# 42 "/home/toby/development/git/lmms/src/core/basic_ops_x86.c" 1
fsave 4(%esp); fwait
# 0 "" 2
# 44 "/home/toby/development/svn/lmms-trunk/src/core/basic_ops_x86.c" 1
# 44 "/home/toby/development/git/lmms/src/core/basic_ops_x86.c" 1
1: prefetchnta (%eax)
prefetchnta 64(%eax)
prefetchnta 128(%eax)
@@ -31,7 +31,7 @@ alignedMemCpyMMX:
.p2align 3
.L3:
#APP
# 53 "/home/toby/development/svn/lmms-trunk/src/core/basic_ops_x86.c" 1
# 53 "/home/toby/development/git/lmms/src/core/basic_ops_x86.c" 1
1: prefetchnta 320(%eax)
2: movq (%eax), %mm0
movq 8(%eax), %mm1
@@ -59,7 +59,7 @@ alignedMemCpyMMX:
jne .L3
.L2:
#APP
# 75 "/home/toby/development/svn/lmms-trunk/src/core/basic_ops_x86.c" 1
# 75 "/home/toby/development/git/lmms/src/core/basic_ops_x86.c" 1
fsave 4(%esp); fwait
# 0 "" 2
@@ -83,7 +83,7 @@ alignedMemClearMMX:
.p2align 3
.L9:
#APP
# 90 "/home/toby/development/svn/lmms-trunk/src/core/basic_ops_x86.c" 1
# 90 "/home/toby/development/git/lmms/src/core/basic_ops_x86.c" 1
movq %mm0, (%edx)
movq %mm0, 8(%edx)
movq %mm0, 16(%edx)
@@ -103,5 +103,5 @@ movq %mm0, 56(%edx)
emms
ret
.size alignedMemClearMMX, .-alignedMemClearMMX
.ident "GCC: (GNU) 4.4.0 20081204 (experimental)"
.ident "GCC: (GNU) 4.4.0 20090304 (experimental)"
.section .note.GNU-stack,"",@progbits

View File

@@ -77,16 +77,16 @@ alignedBufApplyGainSSE:
.p2align 4,,7
.p2align 3
.L14:
movaps %xmm0, %xmm3
movaps 16(%eax), %xmm3
addl $1, %edx
movaps %xmm0, %xmm2
movaps %xmm0, %xmm1
movaps %xmm0, %xmm4
mulps 16(%eax), %xmm3
mulps 32(%eax), %xmm2
mulps 48(%eax), %xmm1
movaps 32(%eax), %xmm2
mulps %xmm0, %xmm3
movaps 48(%eax), %xmm1
mulps %xmm0, %xmm2
movaps (%eax), %xmm4
mulps %xmm0, %xmm1
movaps %xmm3, 16(%eax)
mulps (%eax), %xmm4
mulps %xmm0, %xmm4
movaps %xmm2, 32(%eax)
movaps %xmm1, 48(%eax)
movaps %xmm4, (%eax)
@@ -148,28 +148,28 @@ alignedBufMixLRCoeffSSE:
movl 16(%esp), %ebx
testl %esi, %esi
jle .L25
movss 24(%esp), %xmm0
movss 24(%esp), %xmm2
subl $1, %esi
movss 20(%esp), %xmm1
movss 20(%esp), %xmm0
xorl %eax, %eax
shrl $2, %esi
xorl %ecx, %ecx
addl $1, %esi
unpcklps %xmm0, %xmm1
movaps %xmm1, %xmm0
movlhps %xmm1, %xmm0
unpcklps %xmm2, %xmm0
movaps %xmm0, %xmm2
movlhps %xmm0, %xmm2
.p2align 4,,7
.p2align 3
.L24:
movaps %xmm0, %xmm1
movaps 16(%ebx,%eax), %xmm0
addl $1, %ecx
movaps %xmm0, %xmm2
mulps 16(%ebx,%eax), %xmm1
mulps (%ebx,%eax), %xmm2
addps 16(%edx,%eax), %xmm1
addps (%edx,%eax), %xmm2
movaps %xmm1, 16(%edx,%eax)
movaps %xmm2, (%edx,%eax)
movaps (%ebx,%eax), %xmm1
mulps %xmm2, %xmm0
mulps %xmm2, %xmm1
addps 16(%edx,%eax), %xmm0
addps (%edx,%eax), %xmm1
movaps %xmm0, 16(%edx,%eax)
movaps %xmm1, (%edx,%eax)
addl $32, %eax
cmpl %ecx, %esi
ja .L24
@@ -189,31 +189,31 @@ alignedBufWetDryMixSSE:
movl 16(%esp), %ebx
testl %esi, %esi
jle .L30
movss 24(%esp), %xmm1
movss 24(%esp), %xmm3
subl $1, %esi
movss 20(%esp), %xmm0
movss 20(%esp), %xmm2
xorl %eax, %eax
shrl $2, %esi
xorl %ecx, %ecx
shufps $0, %xmm1, %xmm1
shufps $0, %xmm3, %xmm3
addl $1, %esi
shufps $0, %xmm0, %xmm0
shufps $0, %xmm2, %xmm2
.p2align 4,,7
.p2align 3
.L29:
movaps %xmm1, %xmm3
movaps 16(%ebx,%eax), %xmm1
addl $1, %ecx
movaps %xmm0, %xmm2
movaps %xmm1, %xmm4
mulps 16(%edx,%eax), %xmm3
mulps 16(%ebx,%eax), %xmm2
mulps (%edx,%eax), %xmm4
addps %xmm3, %xmm2
movaps %xmm0, %xmm3
mulps (%ebx,%eax), %xmm3
movaps %xmm2, 16(%edx,%eax)
addps %xmm4, %xmm3
movaps %xmm3, (%edx,%eax)
movaps 16(%edx,%eax), %xmm0
mulps %xmm2, %xmm1
movaps (%ebx,%eax), %xmm4
mulps %xmm3, %xmm0
mulps %xmm2, %xmm4
addps %xmm1, %xmm0
movaps (%edx,%eax), %xmm1
mulps %xmm3, %xmm1
movaps %xmm0, 16(%edx,%eax)
addps %xmm4, %xmm1
movaps %xmm1, (%edx,%eax)
addl $32, %eax
cmpl %ecx, %esi
ja .L29
@@ -230,131 +230,129 @@ alignedBufWetDryMixSplittedSSE:
pushl %edi
pushl %esi
pushl %ebx
subl $124, %esp
movl 164(%esp), %eax
movl 144(%esp), %edx
movl 148(%esp), %esi
movl 152(%esp), %ecx
subl $140, %esp
movl 180(%esp), %eax
flds 172(%esp)
movl 160(%esp), %edx
movl 164(%esp), %esi
testl %eax, %eax
movss 156(%esp), %xmm4
movss 160(%esp), %xmm5
jle .L39
movl 164(%esp), %eax
movl 168(%esp), %ecx
flds 176(%esp)
jle .L43
movl 180(%esp), %eax
subl $1, %eax
shrl %eax
addl $1, %eax
movl %eax, %ebp
movl %eax, 96(%esp)
movl %eax, 120(%esp)
shrl $2, %ebp
cmpl $3, 96(%esp)
cmpl $3, 120(%esp)
leal 0(,%ebp,4), %eax
movl %eax, 100(%esp)
movl %eax, 124(%esp)
jbe .L40
testl %eax, %eax
jne .L34
.L40:
fxch %st(1)
xorl %edi, %edi
jmp .L36
.p2align 4,,7
.p2align 3
.L34:
movaps %xmm4, %xmm2
xorps %xmm6, %xmm6
shufps $0, %xmm2, %xmm2
movaps %xmm5, %xmm1
fsts 12(%esp)
fxch %st(1)
xorps %xmm7, %xmm7
movss 12(%esp), %xmm0
movl %esi, %ebx
shufps $0, %xmm1, %xmm1
movaps %xmm2, (%esp)
fsts 12(%esp)
xorl %eax, %eax
xorl %edi, %edi
movss %xmm5, 108(%esp)
movss %xmm4, 104(%esp)
movaps %xmm1, %xmm4
shufps $0, %xmm0, %xmm0
movaps %xmm0, 32(%esp)
movss 12(%esp), %xmm0
shufps $0, %xmm0, %xmm0
movaps %xmm0, 16(%esp)
.p2align 4,,7
.p2align 3
.L37:
movaps 16(%edx,%eax,2), %xmm3
movaps (%edx,%eax,2), %xmm5
addl $1, %edi
movaps (%edx,%eax,2), %xmm2
movaps 32(%edx,%eax,2), %xmm1
movaps %xmm2, %xmm7
shufps $221, %xmm3, %xmm2
movaps 48(%edx,%eax,2), %xmm0
shufps $136, %xmm3, %xmm7
movaps %xmm2, 64(%esp)
movaps %xmm1, %xmm2
shufps $221, %xmm0, %xmm1
shufps $136, %xmm0, %xmm2
movaps %xmm6, %xmm3
movaps %xmm2, 48(%esp)
movlps (%ebx), %xmm3
movhps 8(%ebx), %xmm3
movaps %xmm7, %xmm5
movaps %xmm3, %xmm0
movaps %xmm6, %xmm2
movlps 16(%ebx), %xmm2
shufps $136, 48(%esp), %xmm5
movhps 24(%ebx), %xmm2
shufps $136, %xmm2, %xmm0
addl $32, %ebx
mulps %xmm4, %xmm5
shufps $221, %xmm2, %xmm3
movaps %xmm1, 32(%esp)
mulps (%esp), %xmm0
movaps %xmm6, %xmm1
shufps $221, 48(%esp), %xmm7
movlps (%ecx,%eax), %xmm1
movhps 8(%ecx,%eax), %xmm1
movaps 64(%esp), %xmm2
mulps %xmm4, %xmm7
addps %xmm0, %xmm5
movaps %xmm6, %xmm0
movlps 16(%ecx,%eax), %xmm0
movhps 24(%ecx,%eax), %xmm0
shufps $221, 32(%esp), %xmm2
movaps %xmm5, 16(%esp)
movaps 64(%esp), %xmm5
mulps %xmm4, %xmm2
shufps $136, 32(%esp), %xmm5
mulps (%esp), %xmm3
mulps %xmm4, %xmm5
addps %xmm3, %xmm7
movaps 16(%esp), %xmm3
movaps %xmm5, 80(%esp)
movaps %xmm1, %xmm5
shufps $221, %xmm0, %xmm1
shufps $136, %xmm0, %xmm5
mulps (%esp), %xmm1
unpcklps %xmm7, %xmm3
mulps (%esp), %xmm5
movaps 16(%esp), %xmm0
addps %xmm1, %xmm2
movaps %xmm3, %xmm1
addps 80(%esp), %xmm5
unpckhps %xmm7, %xmm0
movaps %xmm0, %xmm7
movaps 16(%edx,%eax,2), %xmm6
movaps %xmm5, %xmm0
unpcklps %xmm2, %xmm0
unpckhps %xmm2, %xmm5
unpcklps %xmm0, %xmm1
unpckhps %xmm0, %xmm3
movaps %xmm7, %xmm0
unpckhps %xmm5, %xmm7
unpcklps %xmm5, %xmm0
shufps $136, %xmm6, %xmm0
movaps 32(%edx,%eax,2), %xmm4
shufps $221, %xmm6, %xmm5
movaps %xmm0, 96(%esp)
movaps 48(%edx,%eax,2), %xmm3
movaps %xmm4, %xmm0
shufps $136, %xmm3, %xmm0
movaps 96(%esp), %xmm2
shufps $221, %xmm3, %xmm4
movaps %xmm7, %xmm6
movlps (%ebx), %xmm6
movaps %xmm5, 80(%esp)
movhps 8(%ebx), %xmm6
shufps $136, %xmm0, %xmm2
movaps %xmm0, 64(%esp)
movaps %xmm7, %xmm5
movaps %xmm6, %xmm0
movlps 16(%ebx), %xmm5
movhps 24(%ebx), %xmm5
shufps $136, %xmm5, %xmm0
mulps 32(%esp), %xmm2
shufps $221, %xmm5, %xmm6
movaps %xmm4, 48(%esp)
addl $32, %ebx
mulps 16(%esp), %xmm0
movaps %xmm7, %xmm4
movlps (%eax,%ecx), %xmm4
movaps %xmm7, %xmm3
movhps 8(%eax,%ecx), %xmm4
movaps %xmm4, %xmm1
movlps 16(%ecx,%eax), %xmm3
movhps 24(%ecx,%eax), %xmm3
shufps $136, %xmm3, %xmm1
addps %xmm0, %xmm2
movaps 80(%esp), %xmm0
shufps $221, %xmm3, %xmm4
shufps $136, 48(%esp), %xmm0
mulps 16(%esp), %xmm1
movaps %xmm2, %xmm3
movaps 80(%esp), %xmm5
mulps 32(%esp), %xmm0
shufps $221, 48(%esp), %xmm5
mulps 16(%esp), %xmm6
addps %xmm1, %xmm0
movaps 96(%esp), %xmm1
shufps $221, 64(%esp), %xmm1
mulps 16(%esp), %xmm4
mulps 32(%esp), %xmm1
mulps 32(%esp), %xmm5
addps %xmm6, %xmm1
addps %xmm4, %xmm5
movaps %xmm0, %xmm4
unpcklps %xmm1, %xmm3
unpcklps %xmm5, %xmm4
unpckhps %xmm1, %xmm2
movaps %xmm3, %xmm1
unpckhps %xmm5, %xmm0
unpcklps %xmm4, %xmm1
unpckhps %xmm4, %xmm3
movaps %xmm1, (%edx,%eax,2)
movaps %xmm2, %xmm1
unpckhps %xmm0, %xmm2
unpcklps %xmm0, %xmm1
movaps %xmm3, 16(%edx,%eax,2)
movaps %xmm0, 32(%edx,%eax,2)
movaps %xmm7, 48(%edx,%eax,2)
movaps %xmm1, 32(%edx,%eax,2)
movaps %xmm2, 48(%edx,%eax,2)
addl $32, %eax
cmpl %edi, %ebp
ja .L37
movl 100(%esp), %edi
movl 96(%esp), %eax
movss 104(%esp), %xmm4
movss 108(%esp), %xmm5
movl 124(%esp), %edi
movl 120(%esp), %eax
addl %edi, %edi
cmpl %eax, 100(%esp)
je .L39
cmpl %eax, 124(%esp)
je .L44
.L36:
leal (%edx,%edi,8), %ebx
xorl %ebp, %ebp
@@ -363,38 +361,50 @@ alignedBufWetDryMixSplittedSSE:
.p2align 4,,7
.p2align 3
.L38:
movaps %xmm5, %xmm1
flds (%ebx)
addl $2, %ebp
movaps %xmm4, %xmm0
mulss (%ebx), %xmm1
mulss (%esi,%eax,4), %xmm0
addss %xmm1, %xmm0
movaps %xmm5, %xmm1
movss %xmm0, (%ebx)
movaps %xmm4, %xmm0
mulss 4(%ebx), %xmm1
mulss (%ecx,%eax,4), %xmm0
addss %xmm1, %xmm0
movaps %xmm5, %xmm1
movss %xmm0, 4(%ebx)
fmul %st(2), %st
flds (%esi,%eax,4)
fmul %st(2), %st
faddp %st, %st(1)
fstps (%ebx)
flds 4(%ebx)
fmul %st(2), %st
flds (%ecx,%eax,4)
fmul %st(2), %st
faddp %st, %st(1)
fstps 4(%ebx)
addl $16, %ebx
movaps %xmm4, %xmm0
mulss (%edx), %xmm1
mulss 4(%esi,%eax,4), %xmm0
addss %xmm1, %xmm0
movaps %xmm5, %xmm1
movss %xmm0, (%edx)
movaps %xmm4, %xmm0
mulss 4(%edx), %xmm1
mulss 4(%ecx,%eax,4), %xmm0
flds (%edx)
fmul %st(2), %st
flds 4(%esi,%eax,4)
fmul %st(2), %st
faddp %st, %st(1)
fstps (%edx)
flds 4(%edx)
fmul %st(2), %st
flds 4(%ecx,%eax,4)
leal (%edi,%ebp), %eax
addss %xmm1, %xmm0
movss %xmm0, 4(%edx)
fmul %st(2), %st
faddp %st, %st(1)
fstps 4(%edx)
addl $16, %edx
cmpl %eax, 164(%esp)
cmpl %eax, 180(%esp)
jg .L38
fstp %st(0)
fstp %st(0)
jmp .L39
.L43:
fstp %st(0)
fstp %st(0)
jmp .L39
.L44:
fstp %st(0)
fstp %st(0)
.p2align 4,,7
.p2align 3
.L39:
addl $124, %esp
addl $140, %esp
popl %ebx
popl %esi
popl %edi
@@ -407,34 +417,39 @@ alignedBufWetDryMixSplittedSSE:
unalignedBufMixLRCoeffSSE:
pushl %esi
pushl %ebx
movl 28(%esp), %esi
movl 12(%esp), %eax
movl 16(%esp), %edx
movss 20(%esp), %xmm0
movl %esi, %ecx
shrl $31, %ecx
leal (%esi,%ecx), %ebx
andl $1, %ebx
cmpl %ecx, %ebx
movss 24(%esp), %xmm3
jne .L52
.L44:
subl $4, %esp
movl 32(%esp), %esi
flds 24(%esp)
movl 16(%esp), %eax
movl 20(%esp), %edx
movl %esi, %ebx
flds 28(%esp)
shrl $31, %ebx
leal (%esi,%ebx), %ecx
andl $1, %ecx
cmpl %ebx, %ecx
jne .L54
.L46:
testl %esi, %esi
jle .L49
jle .L55
leal -1(%esi), %ebx
shrl %ebx
testb $15, %al
jne .L46
movaps %xmm0, %xmm1
jne .L48
fxch %st(1)
fstps (%esp)
xorps %xmm2, %xmm2
unpcklps %xmm3, %xmm1
movss (%esp), %xmm0
addl $1, %ebx
fstps (%esp)
xorl %ecx, %ecx
movaps %xmm1, %xmm3
movlhps %xmm1, %xmm3
movss (%esp), %xmm1
unpcklps %xmm1, %xmm0
movaps %xmm0, %xmm3
movlhps %xmm0, %xmm3
.p2align 4,,7
.p2align 3
.L47:
.L49:
movaps %xmm2, %xmm1
addl $1, %ecx
movlps (%edx), %xmm1
@@ -448,55 +463,65 @@ unalignedBufMixLRCoeffSSE:
movaps %xmm0, (%eax)
addl $16, %eax
cmpl %ebx, %ecx
jb .L47
.L49:
jb .L49
jmp .L51
.p2align 4,,7
.p2align 3
.L55:
fstp %st(0)
fstp %st(0)
.p2align 4,,7
.p2align 3
.L51:
addl $4, %esp
popl %ebx
popl %esi
ret
.p2align 4,,7
.p2align 3
.L46:
xorl %ecx, %ecx
.p2align 4,,7
.p2align 3
.L48:
movaps %xmm0, %xmm1
mulss (%edx,%ecx,8), %xmm1
addss (%eax,%ecx,8), %xmm1
movss %xmm1, (%eax,%ecx,8)
movaps %xmm3, %xmm1
mulss 4(%edx,%ecx,8), %xmm1
addss 4(%eax,%ecx,8), %xmm1
movss %xmm1, 4(%eax,%ecx,8)
movaps %xmm0, %xmm1
mulss 8(%edx,%ecx,8), %xmm1
addss 8(%eax,%ecx,8), %xmm1
movss %xmm1, 8(%eax,%ecx,8)
movaps %xmm3, %xmm1
mulss 12(%edx,%ecx,8), %xmm1
addss 12(%eax,%ecx,8), %xmm1
movss %xmm1, 12(%eax,%ecx,8)
xorl %ecx, %ecx
.p2align 4,,7
.p2align 3
.L50:
flds (%edx,%ecx,8)
fmul %st(2), %st
fadds (%eax,%ecx,8)
fstps (%eax,%ecx,8)
flds 4(%edx,%ecx,8)
fmul %st(1), %st
fadds 4(%eax,%ecx,8)
fstps 4(%eax,%ecx,8)
flds 8(%edx,%ecx,8)
fmul %st(2), %st
fadds 8(%eax,%ecx,8)
fstps 8(%eax,%ecx,8)
flds 12(%edx,%ecx,8)
fmul %st(1), %st
fadds 12(%eax,%ecx,8)
fstps 12(%eax,%ecx,8)
addl $2, %ecx
cmpl %ecx, %esi
jg .L48
jg .L50
fstp %st(0)
fstp %st(0)
addl $4, %esp
popl %ebx
popl %esi
ret
.L52:
movaps %xmm0, %xmm1
.L54:
flds (%edx)
subl $1, %esi
movss (%eax), %xmm2
mulss (%edx), %xmm1
addss %xmm2, %xmm1
movss 4(%eax), %xmm2
movss %xmm1, (%eax)
movaps %xmm3, %xmm1
mulss 4(%edx), %xmm1
fmul %st(2), %st
fadds (%eax)
fstps (%eax)
flds 4(%edx)
addl $8, %edx
addss %xmm2, %xmm1
movss %xmm1, 4(%eax)
fmul %st(1), %st
fadds 4(%eax)
fstps 4(%eax)
addl $8, %eax
jmp .L44
jmp .L46
.size unalignedBufMixLRCoeffSSE, .-unalignedBufMixLRCoeffSSE
.ident "GCC: (GNU) 4.4.0 20081204 (experimental)"
.ident "GCC: (GNU) 4.4.0 20090304 (experimental)"
.section .note.GNU-stack,"",@progbits

View File

@@ -70,19 +70,19 @@ alignedConvertToS16SSE2:
pushl %ebx
subl $8, %esp
movl 36(%esp), %eax
movss .LC0, %xmm4
cmpb $0, 44(%esp)
flds .LC0
movl 28(%esp), %edx
movl 32(%esp), %ebx
movl %eax, %esi
mulss 40(%esp), %xmm4
fmuls 40(%esp)
jne .L13
testw %ax, %ax
jle .L15
jle .L35
movl %eax, %edi
shrw $2, %di
cmpw $3, %ax
movw %ax, 2(%esp)
movw %ax, 4(%esp)
leal 0(,%edi,4), %ebp
ja .L33
.L28:
@@ -98,17 +98,19 @@ alignedConvertToS16SSE2:
.p2align 4,,7
.p2align 3
.L25:
movaps %xmm4, %xmm0
mulss (%edx), %xmm0
cvttss2si %xmm0, %ecx
movaps %xmm4, %xmm0
mulss 4(%edx), %xmm0
flds (%edx)
fmul %st(1), %st
fstps 4(%esp)
cvttss2si 4(%esp), %ecx
flds 4(%edx)
fmul %st(1), %st
cmpl $-32768, %ecx
cmovl %edi, %ecx
cmpl $32767, %ecx
cmovg %ebx, %ecx
fstps 4(%esp)
movw %cx, (%eax)
cvttss2si %xmm0, %ecx
cvttss2si 4(%esp), %ecx
cmpl $-32768, %ecx
cmovl %edi, %ecx
cmpl $32767, %ecx
@@ -119,6 +121,15 @@ alignedConvertToS16SSE2:
addl $4, %eax
cmpw %bp, %si
jg .L25
fstp %st(0)
jmp .L15
.L35:
fstp %st(0)
jmp .L15
.L36:
fstp %st(0)
.p2align 4,,7
.p2align 3
.L15:
movswl %si,%esi
addl $8, %esp
@@ -132,11 +143,11 @@ alignedConvertToS16SSE2:
.p2align 3
.L13:
testw %ax, %ax
jle .L15
jle .L36
movl %eax, %ebp
shrw $2, %bp
cmpw $3, %si
movw %ax, 2(%esp)
movw %ax, 4(%esp)
leal 0(,%ebp,4), %eax
ja .L34
.L27:
@@ -151,12 +162,13 @@ alignedConvertToS16SSE2:
.p2align 4,,7
.p2align 3
.L20:
movaps %xmm4, %xmm0
flds (%ecx)
movl $32767, %ebp
mulss (%ecx), %xmm0
cvttss2si %xmm0, %ebx
movaps %xmm4, %xmm0
mulss 4(%ecx), %xmm0
fmul %st(1), %st
fstps 4(%esp)
cvttss2si 4(%esp), %ebx
flds 4(%ecx)
fmul %st(1), %st
cmpl $-32768, %ebx
cmovl %edi, %ebx
cmpl $32767, %ebx
@@ -165,8 +177,9 @@ alignedConvertToS16SSE2:
sall $8, %ebx
orl %ebp, %ebx
movl $32767, %ebp
fstps 4(%esp)
movw %bx, (%edx)
cvttss2si %xmm0, %ebx
cvttss2si 4(%esp), %ebx
cmpl $-32768, %ebx
cmovl %edi, %ebx
cmpl $32767, %ebx
@@ -180,146 +193,149 @@ alignedConvertToS16SSE2:
addl $4, %edx
cmpw %ax, %si
jg .L20
fstp %st(0)
jmp .L15
.p2align 4,,7
.p2align 3
.L34:
testw %ax, %ax
je .L27
movaps %xmm4, %xmm0
fsts (%esp)
xorl %ecx, %ecx
movdqa .LC1, %xmm1
movss %xmm4, 4(%esp)
shufps $0, %xmm0, %xmm0
movdqa .LC1, %xmm3
movss (%esp), %xmm0
xorl %edi, %edi
movdqa .LC2, %xmm2
shufps $0, %xmm0, %xmm0
movaps %xmm0, %xmm7
movdqa .LC2, %xmm0
.p2align 4,,7
.p2align 3
.L19:
movaps %xmm7, %xmm3
movdqa %xmm0, %xmm5
movdqa %xmm0, %xmm6
movaps %xmm7, %xmm2
movaps (%edx,%ecx,2), %xmm0
movdqa %xmm2, %xmm4
movdqa %xmm2, %xmm6
addl $1, %edi
mulps (%edx,%ecx,2), %xmm3
mulps 16(%edx,%ecx,2), %xmm2
cvttps2dq %xmm3, %xmm3
movdqa %xmm3, %xmm4
pcmpgtd %xmm1, %xmm4
pand %xmm4, %xmm3
pandn %xmm1, %xmm4
por %xmm4, %xmm3
cvttps2dq %xmm2, %xmm2
movdqa %xmm3, %xmm4
pcmpgtd %xmm0, %xmm4
pand %xmm4, %xmm5
pandn %xmm3, %xmm4
movdqa %xmm4, %xmm3
movdqa %xmm2, %xmm4
por %xmm5, %xmm3
pcmpgtd %xmm1, %xmm4
movaps 16(%edx,%ecx,2), %xmm5
mulps %xmm7, %xmm0
mulps %xmm7, %xmm5
cvttps2dq %xmm0, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm3, %xmm1
pand %xmm1, %xmm0
pandn %xmm3, %xmm1
por %xmm0, %xmm1
cvttps2dq %xmm5, %xmm5
movdqa %xmm1, %xmm0
pcmpgtd %xmm2, %xmm0
pand %xmm0, %xmm4
pandn %xmm1, %xmm0
movdqa %xmm0, %xmm1
movdqa %xmm5, %xmm0
por %xmm4, %xmm1
pcmpgtd %xmm3, %xmm0
movdqa .LC3, %xmm4
pand %xmm0, %xmm5
pand %xmm1, %xmm4
pandn %xmm3, %xmm0
psrad $8, %xmm4
por %xmm5, %xmm0
pslld $8, %xmm1
movdqa %xmm0, %xmm5
pcmpgtd %xmm2, %xmm5
pand %xmm5, %xmm6
pandn %xmm0, %xmm5
movdqa %xmm5, %xmm0
movdqa .LC3, %xmm5
pand %xmm4, %xmm2
pand %xmm3, %xmm5
pandn %xmm1, %xmm4
por %xmm6, %xmm0
pand %xmm0, %xmm5
pslld $8, %xmm0
psrad $8, %xmm5
por %xmm4, %xmm2
pslld $8, %xmm3
movdqa %xmm2, %xmm4
pcmpgtd %xmm0, %xmm4
pand %xmm4, %xmm6
pandn %xmm2, %xmm4
movdqa %xmm4, %xmm2
por %xmm6, %xmm2
movdqa .LC3, %xmm6
pand %xmm2, %xmm6
pslld $8, %xmm2
psrad $8, %xmm6
movdqa %xmm5, %xmm4
punpcklwd %xmm6, %xmm5
punpckhwd %xmm6, %xmm4
movdqa %xmm5, %xmm6
punpcklwd %xmm4, %xmm5
punpckhwd %xmm4, %xmm6
movdqa %xmm3, %xmm4
punpcklwd %xmm6, %xmm5
punpckhwd %xmm2, %xmm4
punpcklwd %xmm2, %xmm3
movdqa %xmm3, %xmm6
punpcklwd %xmm4, %xmm3
punpckhwd %xmm4, %xmm6
punpcklwd %xmm6, %xmm3
por %xmm3, %xmm5
movdqa %xmm5, (%ebx,%ecx)
movdqa %xmm4, %xmm6
punpcklwd %xmm5, %xmm4
punpckhwd %xmm5, %xmm6
movdqa %xmm4, %xmm5
punpcklwd %xmm6, %xmm4
punpckhwd %xmm6, %xmm5
punpcklwd %xmm5, %xmm4
movdqa %xmm1, %xmm5
punpcklwd %xmm0, %xmm1
punpckhwd %xmm0, %xmm5
movdqa %xmm1, %xmm0
punpcklwd %xmm5, %xmm1
punpckhwd %xmm5, %xmm0
punpcklwd %xmm0, %xmm1
por %xmm1, %xmm4
movdqa %xmm4, (%ebx,%ecx)
addl $16, %ecx
cmpw %di, %bp
ja .L19
cmpw 2(%esp), %ax
movss 4(%esp), %xmm4
cmpw 4(%esp), %ax
jne .L18
fstp %st(0)
jmp .L15
.p2align 4,,7
.p2align 3
.L33:
testw %bp, %bp
.p2align 4,,3
.p2align 4,,4
.p2align 3
je .L28
movaps %xmm4, %xmm0
fsts (%esp)
xorl %eax, %eax
movdqa .LC1, %xmm1
shufps $0, %xmm0, %xmm0
movdqa .LC1, %xmm3
movss (%esp), %xmm0
xorl %ecx, %ecx
movaps %xmm0, %xmm6
movdqa .LC2, %xmm0
movdqa .LC2, %xmm2
shufps $0, %xmm0, %xmm0
movaps %xmm0, %xmm5
.p2align 4,,7
.p2align 3
.L24:
movaps %xmm6, %xmm3
movaps (%edx,%eax,2), %xmm0
addl $1, %ecx
movdqa %xmm0, %xmm7
movaps %xmm6, %xmm2
mulps (%edx,%eax,2), %xmm3
mulps 16(%edx,%eax,2), %xmm2
cvttps2dq %xmm3, %xmm3
movdqa %xmm3, %xmm5
pcmpgtd %xmm1, %xmm5
pand %xmm5, %xmm3
pandn %xmm1, %xmm5
por %xmm5, %xmm3
cvttps2dq %xmm2, %xmm2
movdqa %xmm3, %xmm5
pcmpgtd %xmm0, %xmm5
pand %xmm5, %xmm7
pandn %xmm3, %xmm5
movdqa %xmm5, %xmm3
movdqa %xmm2, %xmm5
por %xmm7, %xmm3
pcmpgtd %xmm1, %xmm5
movdqa %xmm0, %xmm7
pand %xmm5, %xmm2
pandn %xmm1, %xmm5
por %xmm5, %xmm2
movdqa %xmm2, %xmm5
pcmpgtd %xmm0, %xmm5
pand %xmm5, %xmm7
pandn %xmm2, %xmm5
movdqa %xmm5, %xmm2
movdqa %xmm3, %xmm5
por %xmm7, %xmm2
punpckhwd %xmm2, %xmm5
punpcklwd %xmm2, %xmm3
movdqa %xmm3, %xmm7
punpcklwd %xmm5, %xmm3
punpckhwd %xmm5, %xmm7
punpcklwd %xmm7, %xmm3
movdqa %xmm3, (%ebx,%eax)
movdqa %xmm2, %xmm6
movaps 16(%edx,%eax,2), %xmm4
mulps %xmm5, %xmm0
mulps %xmm5, %xmm4
cvttps2dq %xmm0, %xmm0
movdqa %xmm0, %xmm1
pcmpgtd %xmm3, %xmm1
pand %xmm1, %xmm0
pandn %xmm3, %xmm1
por %xmm0, %xmm1
cvttps2dq %xmm4, %xmm4
movdqa %xmm1, %xmm0
pcmpgtd %xmm2, %xmm0
pand %xmm0, %xmm6
pandn %xmm1, %xmm0
movdqa %xmm0, %xmm1
movdqa %xmm4, %xmm0
por %xmm6, %xmm1
pcmpgtd %xmm3, %xmm0
movdqa %xmm2, %xmm6
pand %xmm0, %xmm4
pandn %xmm3, %xmm0
por %xmm4, %xmm0
movdqa %xmm0, %xmm4
pcmpgtd %xmm2, %xmm4
pand %xmm4, %xmm6
pandn %xmm0, %xmm4
movdqa %xmm4, %xmm0
movdqa %xmm1, %xmm4
por %xmm6, %xmm0
punpckhwd %xmm0, %xmm4
punpcklwd %xmm0, %xmm1
movdqa %xmm1, %xmm0
punpcklwd %xmm4, %xmm1
punpckhwd %xmm4, %xmm0
punpcklwd %xmm0, %xmm1
movdqa %xmm1, (%ebx,%eax)
addl $16, %eax
cmpw %cx, %di
ja .L24
cmpw %bp, 2(%esp)
cmpw %bp, 4(%esp)
jne .L23
fstp %st(0)
jmp .L15
.size alignedConvertToS16SSE2, .-alignedConvertToS16SSE2
.section .rodata.cst4,"aM",@progbits,4
@@ -345,5 +361,5 @@ alignedConvertToS16SSE2:
.long 65280
.long 65280
.long 65280
.ident "GCC: (GNU) 4.4.0 20081204 (experimental)"
.ident "GCC: (GNU) 4.4.0 20090304 (experimental)"
.section .note.GNU-stack,"",@progbits

View File

@@ -1086,6 +1086,10 @@ void patternView::wheelEvent( QWheelEvent * _we )
{
n->setVolume( vol + 5 );
}
else
{
n->setVolume( 100 );
}
}
else
{