@@ -245,7 +245,7 @@ __inline Word32 ASM_L_shl(Word32 L_var1, Word16 var2)
245245 "MOV %[result], %[L_var1], ASL %[var2] \n"
246246 "TEQ r2, %[result], ASR %[var2]\n"
247247 "EORNE %[result],r3,r2,ASR#31\n"
248- :[result ]"+ r" (result )
248+ :[result ]"=& r" (result )
249249 :[L_var1 ]"r" (L_var1 ), [var2 ]"r" (var2 )
250250 :"r2" , "r3"
251251 );
@@ -277,7 +277,7 @@ __inline Word32 ASM_shl(Word32 L_var1, Word16 var2)
277277 "RSB r3,r3,r3,LSL #15 \n"
278278 "TEQ r2, %[result], ASR #31 \n"
279279 "EORNE %[result], r3, %[result],ASR #31"
280- :[result ]"+ r" (result )
280+ :[result ]"= r" (result )
281281 :[L_var1 ]"r" (L_var1 ), [var2 ]"r" (var2 )
282282 :"r2" , "r3"
283283 );
@@ -296,13 +296,13 @@ __inline Word16 saturate(Word32 L_var1)
296296#if ARMV5TE_SAT
297297 Word16 result ;
298298 asm volatile (
299- "MOV %[result], %[L_var1]\n"
300299 "MOV r3, #1\n"
301300 "MOV r2,%[L_var1],ASR#15\n"
302301 "RSB r3, r3, r3, LSL #15\n"
303302 "TEQ r2,%[L_var1],ASR#31\n"
304303 "EORNE %[result],r3,%[L_var1],ASR#31\n"
305- :[result ]"+r" (result )
304+ "MOVEQ %[result], %[L_var1]\n"
305+ :[result ]"=r" (result )
306306 :[L_var1 ]"r" (L_var1 )
307307 :"r2" , "r3"
308308 );
@@ -423,7 +423,7 @@ __inline Word32 L_mult(Word16 var1, Word16 var2)
423423 asm volatile (
424424 "SMULBB %[result], %[var1], %[var2] \n"
425425 "QADD %[result], %[result], %[result] \n"
426- :[result ]"+ r" (result )
426+ :[result ]"= r" (result )
427427 :[var1 ]"r" (var1 ), [var2 ]"r" (var2 )
428428 );
429429 return result ;
@@ -454,7 +454,7 @@ __inline Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2)
454454 "SMULBB %[result], %[var1], %[var2] \n"
455455 "QADD %[result], %[result], %[result] \n"
456456 "QSUB %[result], %[L_var3], %[result]\n"
457- :[result ]"+ r" (result )
457+ :[result ]"=& r" (result )
458458 :[L_var3 ]"r" (L_var3 ), [var1 ]"r" (var1 ), [var2 ]"r" (var2 )
459459 );
460460 return result ;
@@ -476,7 +476,7 @@ __inline Word32 L_sub(Word32 L_var1, Word32 L_var2)
476476 Word32 result ;
477477 asm volatile (
478478 "QSUB %[result], %[L_var1], %[L_var2]\n"
479- :[result ]"+ r" (result )
479+ :[result ]"= r" (result )
480480 :[L_var1 ]"r" (L_var1 ), [L_var2 ]"r" (L_var2 )
481481 );
482482 return result ;
@@ -596,7 +596,7 @@ __inline Word16 add (Word16 var1, Word16 var2)
596596 "RSB r3, r3, r3, LSL, #15\n"
597597 "TEQ r2, %[result], ASR #31\n"
598598 "EORNE %[result], r3, %[result], ASR #31"
599- :[result ]"+ r" (result )
599+ :[result ]"= r" (result )
600600 :[var1 ]"r" (var1 ), [var2 ]"r" (var2 )
601601 :"r2" , "r3"
602602 );
@@ -626,7 +626,7 @@ __inline Word16 sub(Word16 var1, Word16 var2)
626626 "MOV r2, %[var1], ASR #15 \n"
627627 "TEQ r2, %[var1], ASR #31 \n"
628628 "EORNE %[result], r3, %[result], ASR #31 \n"
629- :[result ]"+ r" (result )
629+ :[result ]"=& r" (result )
630630 :[var1 ]"r" (var1 ), [var2 ]"r" (var2 )
631631 :"r2" , "r3"
632632 );
@@ -692,7 +692,7 @@ __inline Word16 mult (Word16 var1, Word16 var2)
692692 "MOV r2, %[result], ASR #15\n"
693693 "TEQ r2, %[result], ASR #31\n"
694694 "EORNE %[result], r3, %[result], ASR #31 \n"
695- :[result ]"+ r" (result )
695+ :[result ]"= r" (result )
696696 :[var1 ]"r" (var1 ), [var2 ]"r" (var2 )
697697 :"r2" , "r3"
698698 );
@@ -728,7 +728,7 @@ __inline Word16 norm_s (Word16 var1)
728728 "MOVEQ %[result], #0\n"
729729 "CMP r2, #-1\n"
730730 "MOVEQ %[result], #15\n"
731- :[result ]"+ r" (result )
731+ :[result ]"= r" (result )
732732 :[var1 ]"r" (var1 )
733733 :"r2"
734734 );
@@ -774,7 +774,7 @@ __inline Word16 norm_l (Word32 L_var1)
774774 "CLZNE %[result], %[L_var1]\n"
775775 "SUBNE %[result], %[result], #1\n"
776776 "MOVEQ %[result], #0\n"
777- :[result ]"+ r" (result )
777+ :[result ]"= r" (result )
778778 :[L_var1 ]"r" (L_var1 )
779779 );
780780 return result ;
@@ -983,7 +983,7 @@ __inline Word16 round16(Word32 L_var1)
983983 "MOV r1,#0x00008000\n"
984984 "QADD %[result], %[L_var1], r1\n"
985985 "MOV %[result], %[result], ASR #16 \n"
986- :[result ]"+ r" (result )
986+ :[result ]"= r" (result )
987987 :[L_var1 ]"r" (L_var1 )
988988 :"r1"
989989 );
@@ -1009,7 +1009,7 @@ __inline Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2)
10091009 "SMULBB %[result], %[var1], %[var2]\n"
10101010 "QADD %[result], %[result], %[result]\n"
10111011 "QADD %[result], %[result], %[L_var3]\n"
1012- :[result ]"+ r" (result )
1012+ :[result ]"=& r" (result )
10131013 : [L_var3 ]"r" (L_var3 ), [var1 ]"r" (var1 ), [var2 ]"r" (var2 )
10141014 );
10151015 return result ;
@@ -1031,7 +1031,7 @@ __inline Word32 L_add (Word32 L_var1, Word32 L_var2)
10311031 Word32 result ;
10321032 asm volatile (
10331033 "QADD %[result], %[L_var1], %[L_var2]\n"
1034- :[result ]"+ r" (result )
1034+ :[result ]"= r" (result )
10351035 :[L_var1 ]"r" (L_var1 ), [L_var2 ]"r" (L_var2 )
10361036 );
10371037 return result ;
0 commit comments