OSDN Git Service

stagefright aacenc: Use QDADD/QDSUB instructions
authorMans Rullgard <mans@mansr.com>
Tue, 5 Apr 2011 14:44:58 +0000 (17:44 +0300)
committerMartin Storsjo <martin@martin.st>
Fri, 13 Jan 2012 19:16:14 +0000 (21:16 +0200)
Change-Id: I46c81dba0486d515f1f2b89a13fae27f6ab1e122

media/libstagefright/codecs/aacenc/basic_op/basic_op.h

index d475488..5cd7e5f 100644 (file)
@@ -460,8 +460,7 @@ __inline Word32 L_msu (Word32 L_var3, Word16 var1, Word16 var2)
        Word32 result;
        asm (
                "SMULBB %[result], %[var1], %[var2] \n"
-               "QADD %[result], %[result], %[result] \n"
-               "QSUB %[result], %[L_var3], %[result]\n"
+               "QDSUB %[result], %[L_var3], %[result]\n"
                :[result]"=&r"(result)
                :[L_var3]"r"(L_var3), [var1]"r"(var1), [var2]"r"(var2)
                );
@@ -1014,8 +1013,7 @@ __inline Word32 L_mac (Word32 L_var3, Word16 var1, Word16 var2)
        Word32 result;
        asm (
                "SMULBB %[result], %[var1], %[var2]\n"
-               "QADD   %[result], %[result], %[result]\n"
-               "QADD   %[result], %[result], %[L_var3]\n"
+               "QDADD  %[result], %[L_var3], %[result]\n"
                :[result]"=&r"(result)
                : [L_var3]"r"(L_var3), [var1]"r"(var1), [var2]"r"(var2)
                );