diff options
author | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-28 21:45:35 +0000 |
---|---|---|
committer | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-28 21:45:35 +0000 |
commit | c4049b5c6676e437660a85cb6f48effa666e7cd3 (patch) | |
tree | 7311cbdc07c1e1fe64da9c280f4115f23ffcce26 /codecs | |
parent | 229524db201a8147794fb4d93f1ad8ff7c8d432f (diff) |
Allow gsm to compile correctly on x86 with gcc4 optimizations.
(closes issue #11243)
Reported by: whiskerp
Patches:
11243-maybe-asm.diff uploaded by qwell (license 4)
Tested by: Seggy (IRC)
Note: While I did write this patch, I would not have found this if fossil
had not reported and fixed issue #12253. A huge thanks to him for helping
to (indirectly) find the problem here.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@111856 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs')
-rw-r--r-- | codecs/gsm/inc/private.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/codecs/gsm/inc/private.h b/codecs/gsm/inc/private.h index 7021030ac..80ecbc59f 100644 --- a/codecs/gsm/inc/private.h +++ b/codecs/gsm/inc/private.h @@ -105,7 +105,7 @@ static __inline__ int GSM_L_ADD(int a, int b) __asm__ __volatile__( "addl %2,%0; jno 0f; movl $0x7fffffff,%0; adcl $0,%0; 0:" - : "=r" (a) + : "=&r" (a) : "0" (a), "ir" (b) : "cc" ); @@ -116,7 +116,7 @@ static __inline__ short GSM_ADD(short a, short b) { __asm__ __volatile__( "addw %2,%0; jno 0f; movw $0x7fff,%0; adcw $0,%0; 0:" - : "=r" (a) + : "=&r" (a) : "0" (a), "ir" (b) : "cc" ); @@ -127,7 +127,7 @@ static __inline__ short GSM_SUB(short a, short b) { __asm__ __volatile__( "subw %2,%0; jno 0f; movw $0x7fff,%0; adcw $0,%0; 0:" - : "=r" (a) + : "=&r" (a) : "0" (a), "ir" (b) : "cc" ); |