[svn-commits] dbailey: branch 1.4 r3548 - /branches/1.4/arith.h

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Dec 20 11:09:16 CST 2007


Author: dbailey
Date: Thu Dec 20 11:09:16 2007
New Revision: 3548

URL: http://svn.digium.com/view/zaptel?view=rev&rev=3548
Log:
Add blackfin enhancement.  Closes issue #0011283

Modified:
    branches/1.4/arith.h

Modified: branches/1.4/arith.h
URL: http://svn.digium.com/view/zaptel/branches/1.4/arith.h?view=diff&rev=3548&r1=3547&r2=3548
==============================================================================
--- branches/1.4/arith.h (original)
+++ branches/1.4/arith.h Thu Dec 20 11:09:16 2007
@@ -261,6 +261,12 @@
 #ifdef ZT_CHUNKSIZE
 static inline void ACSS(short *dst, short *src)
 {
+#ifdef BFIN
+	int x;
+/* Add src to dst with saturation, storing in dst */
+	for (x=0;x<ZT_CHUNKSIZE;x++)
+		dst[x] = __builtin_bfin_add_fr1x16(dst[x], src[x]);
+#else
 	int x,sum;
 	/* Add src to dst with saturation, storing in dst */
 	for (x=0;x<ZT_CHUNKSIZE;x++) {
@@ -271,10 +277,17 @@
 			sum = -32768;
 		dst[x] = sum;
 	}
+#endif
 }
 
 static inline void SCSS(short *dst, short *src)
 {
+#ifdef BFIN
+	int x;
+/* subtract src from dst with saturation, storing in dst */
+	for (x=0;x<ZT_CHUNKSIZE;x++)
+		dst[x] = __builtin_bfin_sub_fr1x16(dst[x], src[x]);
+#else
 	int x,sum;
 	/* Add src to dst with saturation, storing in dst */
 	for (x=0;x<ZT_CHUNKSIZE;x++) {
@@ -285,6 +298,7 @@
 			sum = -32768;
 		dst[x] = sum;
 	}
+#endif
 }
 
 #endif	/* ZT_CHUNKSIZE */




More information about the svn-commits mailing list