preparing the code base for adding new routines.
authorRamin Zaghi <ramin@arm.com>
Tue, 3 Apr 2012 10:16:03 +0000 (10:16 +0000)
committerRamin Zaghi <ramin@arm.com>
Tue, 3 Apr 2012 10:16:03 +0000 (10:16 +0000)
17 files changed:
Makefile
headers/macros.h
headers/unit_test_abs_operation_x.h
headers/unit_test_common.h
headers/unit_test_len_operation_x.h
headers/unit_test_mla_operation_x.h
headers/unit_test_mlac_operation_x.h
headers/unit_test_normalize_operation_x.h
headers/unit_test_setc_operation_x.h
headers/unit_test_x_operation_x.h
headers/unit_test_xc_operation_x.h
headers/versionheader.h
headers/versionheader.s
inc/NE10.h
inc/NE10_asm.h
inc/NE10_c.h
inc/NE10_neon.h

index 6a15ab7234adec1b7de674a94fd4c1fd31967f34..1080b869aca91d9a1e88bc67c9f557ed8c189233 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@ OPTIMIZE_FLAGS = -O3
 LDFLAGS+=-L.  -L/usr/local/lib -L/client/lib -L/lib/arm-linux-gnueabi
 LDFLAGS+=-lm
 
-ALLFILES = NE10_addc.c_r.o NE10_subc.c_r.o NE10_rsbc.c_r.o NE10_mulc.c_r.o NE10_divc.c_r.o NE10_mlac.c_r.o NE10_setc.c_r.o NE10_add.c_r.o NE10_sub.c_r.o NE10_mul.c_r.o NE10_div.c_r.o NE10_mla.c_r.o NE10_abs.c_r.o NE10_len.c_r.o NE10_normalize.c_r.o NE10_addc.neon_r.o NE10_subc.neon_r.o NE10_rsbc.neon_r.o NE10_mulc.neon_r.o NE10_divc.neon_r.o NE10_mlac.neon_r.o NE10_setc.neon_r.o NE10_add.neon_r.o NE10_sub.neon_r.o NE10_mul.neon_r.o NE10_div.neon_r.o NE10_mla.neon_r.o NE10_abs.neon_r.o NE10_len.neon_r.o NE10_normalize.neon_r.o
+ALLFILES = NE10_addc.c_r.o NE10_subc.c_r.o NE10_rsbc.c_r.o NE10_mulc.c_r.o NE10_divc.c_r.o NE10_mlac.c_r.o NE10_setc.c_r.o NE10_add.c_r.o NE10_sub.c_r.o NE10_mul.c_r.o NE10_div.c_r.o NE10_mla.c_r.o NE10_abs.c_r.o NE10_len.c_r.o NE10_normalize.c_r.o NE10_addc.neon_r.o NE10_subc.neon_r.o NE10_rsbc.neon_r.o NE10_mulc.neon_r.o NE10_divc.neon_r.o NE10_mlac.neon_r.o NE10_setc.neon_r.o NE10_add.neon_r.o NE10_sub.neon_r.o NE10_mul.neon_r.o NE10_div.neon_r.o NE10_mla.neon_r.o NE10_abs.neon_r.o NE10_len.neon_r.o NE10_normalize.neon_r.o NE10_dot.c_r.o NE10_dot.neon_r.o NE10_cross.c_r.o NE10_cross.neon_r.o
 
 #TARGET_ARCH = stdc
 
index a8ae6d377ba3a89b9bb6119a8e0c2214493ac45e..185b1a82e799397b9b76b63f93a4da45c5aa15f8 100644 (file)
    ); \
   }
 
+#define NE10_DOT_OPERATION_X_C NE10_X_OPERATION_FLOAT_C
+
 ///// The "DstSrc" group of functions //////
 
 #define NE10_ABS_OPERATION_X_C(loopCode) { \
index 93d511c0b5dc517aba5a023898d8d76dc19b0c8c..94d4ce73f0324caf4bc75b7dc8bee1c8184ecc97 100644 (file)
@@ -174,7 +174,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ] , ACCEPTABLE_ERROR ) )
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ] , ERROR_MARGIN_SMALL ) )
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index 464817031ef2a21a2c0e2062696df26db3d73a34..40e91d3a9fc4238ef630aa5fb4b32dfa21096e19 100644 (file)
@@ -69,7 +69,8 @@
 #define EXPONENT_MASK 0x807FFFFF
 
 // What's the acceptable error between the integer representations of two float values
-#define ACCEPTABLE_ERROR 2
+#define ERROR_MARGIN_SMALL 0x02
+#define ERROR_MARGIN_LARGE 0xFF
 
 // What's the acceptable number of warnings in a test
 #define ACCEPTABLE_WARNS 10
index ebc8b130d508014b721f7acd52428417f09f766f..98e1e076020eafbb803c30a9ec5d60fde016e788 100644 (file)
@@ -176,7 +176,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ] , 0xFF ) ) // accept larger errors as we're doing a single step
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ] , ERROR_MARGIN_LARGE ) ) // accept larger errors as we're doing a single step
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index 77bf46a4afabdc1f7a1499d3939c92c4b326c128..abe2b701416de4c67e68d13578dc1011f48537db 100644 (file)
@@ -190,7 +190,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ACCEPTABLE_ERROR ) )
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ERROR_MARGIN_LARGE ) )
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index 71333b859fd7dec6b15116916aaa7c23ef79c5ce..5b7dc6e87e5ce3b75b84088a520761178a580492 100644 (file)
@@ -214,7 +214,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ACCEPTABLE_ERROR ) )
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ERROR_MARGIN_SMALL ) )
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index 59b9e36049f1d073b3f5506c0764b41e4d0cecc5..75307f78e7c2097a19ece1f70006db7dc60d98e4 100644 (file)
@@ -177,7 +177,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ] , 0xFF ) ) // accept larger errors as we're doing a single step
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ] , ERROR_MARGIN_LARGE ) ) // accept larger errors as we're doing a single step
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index 85d6519c719fdafe24a4f75862ab519c49d70083..3c1d1cdcf16e7371b9917dfccbeb141b69861d6e 100644 (file)
@@ -195,7 +195,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ACCEPTABLE_ERROR ) )
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ERROR_MARGIN_SMALL ) )
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index 7c6aa468c0f960cd9a98ae8e16e725f80066d244..0a969f303d5fa435803620a0ba92a333e66d9d42 100644 (file)
@@ -182,7 +182,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ACCEPTABLE_ERROR ) )
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ERROR_MARGIN_SMALL ) )
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index 6436e212b5cc688107c093ae31fb9f422bc9b56e..2bc81f6519b0299504ac40a54bec601b8f3a0a6b 100644 (file)
@@ -203,7 +203,7 @@ arm_result_t run_test( int argc, char **argv )
                          assert ( _output[ ((1-1)*item_width)+pos ] == _output[ ((1-1)*item_width)+pos ] ); // check for not-a-number
                          assert ( _output[ ((impl-1)*item_width)+pos ] == _output[ ((impl-1)*item_width)+pos ] );  // check for not-a-number
 
-                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ACCEPTABLE_ERROR ) )
+                         if ( ! EQUALS_FLOAT( _output[ ((1-1)*item_width)+pos ] , _output[ ((impl-1)*item_width)+pos ], ERROR_MARGIN_SMALL ) )
                          { fprintf( stderr, "\t\t WARNING: In opcode [%d], implementation [1] != implemenation [%d] on item [%d -> %d]\n",
                                     opcode, impl, i, pos+1 );
                              warns++; }
index b07a91adc73127e8e53691616a76d8ad68c1a0da..09a9977f3ed5e1ce0c947f2d3504ec7f202b497e 100644 (file)
@@ -23,9 +23,9 @@
 /////////////////////////////////////////////////////////
 
 #define VERSION_MAJOR      0
-#define VERSION_MINOR      0
+#define VERSION_MINOR      9
 #define VERSION_REVISION   10
 
 #define PHASE              1
-#define COPYRIGHT_YEAR     2011
+#define COPYRIGHT_YEAR     2012
 #define COPYRIGHT_HOLDER   "ARM Ltd."
index 17a6fdee9e8935bcf4a32258ab351a60cc58fa08..fcd55f59a56561015a6cdf96ea87ef2eb64656d8 100644 (file)
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
         .equ      VERSION_MAJOR,    0
-        .equ      VERSION_MINOR,    0
+        .equ      VERSION_MINOR,    9
         .equ      VERSION_REVISION, 10
 
         .equ      PHASE,            1
-        .equ      COPYRIGHT_YEAR,   2011
+        .equ      COPYRIGHT_YEAR,   2012
 
 COPYRIGHT_HOLDER:
         .asciz                      "ARM Ltd."
index 99bdee92d81354e4dc8007ce30b88dad5a26655f..9b7bc6acaaf8aa43ff48ae5edcecafecd4f23a30 100644 (file)
@@ -391,54 +391,209 @@ extern arm_result_t (*normalize_vec4f)(arm_vec4f_t * dst, arm_vec4f_t * src, uns
 
 
 
+
+/*!
+    Generates a 2D vector from the absolute values of each of the components of an input vector
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src   Pointer to the source array
+    @param[in]  count The number of items in the input array
+ */
 extern arm_result_t (*abs_vec2f)(arm_vec2f_t * dst, arm_vec2f_t * src, unsigned int count);
+/*!
+    Generates a 3D vector from the absolute values of each of the components of an input vector
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src   Pointer to the source array
+    @param[in]  count The number of items in the input array
+ */
 extern arm_result_t (*abs_vec3f)(arm_vec3f_t * dst, arm_vec3f_t * src, unsigned int count);
+/*!
+    Generates a 4D vector from the absolute values of each of the components of an input vector
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src   Pointer to the source array
+    @param[in]  count The number of items in the input array
+ */
 extern arm_result_t (*abs_vec4f)(arm_vec4f_t * dst, arm_vec4f_t * src, unsigned int count);
 
 
 
 // ## SIMD Component-wise Arithmetic on Two Vectors ##
+
+/*!
+    Multiplies the components of a 2D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vmul_vec2f)(arm_vec2f_t * dst, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+/*!
+    Multiplies the components of a 3D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vmul_vec3f)(arm_vec3f_t * dst, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+/*!
+    Multiplies the components of a 4D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vmul_vec4f)(arm_vec4f_t * dst, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
+/*!
+    Divides the components of a 2D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the nominators' source array
+    @param[in]  src2   Pointer to the denominators' source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vdiv_vec2f)(arm_vec2f_t * dst, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+/*!
+    Divides the components of a 3D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the nominators' source array
+    @param[in]  src2   Pointer to the denominators' source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vdiv_vec3f)(arm_vec3f_t * dst, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+/*!
+    Divides the components of a 4D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the nominators' source array
+    @param[in]  src2   Pointer to the denominators' source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vdiv_vec4f)(arm_vec4f_t * dst, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
+/*!
+    Performs a multiply and accumulate operation on the components of a 2D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vmla_vec2f)(arm_vec2f_t * acc, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+/*!
+    Performs a multiply and accumulate operation on the components of a 3D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vmla_vec3f)(arm_vec3f_t * acc, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+/*!
+    Performs a multiply and accumulate operation on the components of a 4D vector with the corresponding components of another
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*vmla_vec4f)(arm_vec4f_t * acc, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
 // ## Vector-Vector Algebra ##
+
+/*!
+    Vector addition of two 2D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*add_vec2f)(arm_vec2f_t * dst, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+/*!
+    Vector addition of two 3D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*add_vec3f)(arm_vec3f_t * dst, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+/*!
+    Vector addition of two 4D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*add_vec4f)(arm_vec4f_t * dst, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
+/*!
+    Vector subtraction of two 2D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*sub_vec2f)(arm_vec2f_t * dst, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+/*!
+    Vector subtraction of two 3D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*sub_vec3f)(arm_vec3f_t * dst, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+/*!
+    Vector subtraction of two 4D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*sub_vec4f)(arm_vec4f_t * dst, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
+/*!
+    Dot product of two 2D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*dot_vec2f)(arm_float_t * dst, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+/*!
+    Dot product of two 3D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*dot_vec3f)(arm_float_t * dst, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+/*!
+    Dot product of two 4D vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*dot_vec4f)(arm_float_t * dst, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
+/*!
+    Performs a cross product operation on the two input vectors
+    @param[out] dst   Pointer to the destination array
+    @param[in]  src1   Pointer to the first source array
+    @param[in]  src2   Pointer to the second source array
+    @param[in]  count The number of items in the input arrays
+ */
 extern arm_result_t (*cross_vec3f)(arm_vec3f_t * dst, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
 
 
 
+
 // ## Matrix-Constant Arithmetic ##
 
 // arm_mat4x4f_t
index ae1ef160ac1fb4d6dd6a244964bada3e7fc32a34..2b56762a8f9343a0fec2a94f5c57ec82066ee2c7 100644 (file)
@@ -119,9 +119,9 @@ extern arm_result_t vdiv_vec4f_asm(arm_vec4f_t * dst, arm_vec4f_t * src1, arm_ve
 
 
 
-extern arm_result_t vmla_vec2f_asm(arm_vec2f_t * acc, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
-extern arm_result_t vmla_vec3f_asm(arm_vec3f_t * acc, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
-extern arm_result_t vmla_vec4f_asm(arm_vec4f_t * acc, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec2f_asm(arm_vec2f_t * dst, arm_vec2f_t * acc, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec3f_asm(arm_vec3f_t * dst, arm_vec3f_t * acc, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec4f_asm(arm_vec4f_t * dst, arm_vec4f_t * acc, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
index 2c68fa8c9c7f933a727da392bf64a5b695781a28..7e52e7251cbe7b8608a90deb53e947ae17bb7352 100644 (file)
@@ -117,9 +117,9 @@ extern arm_result_t vdiv_vec4f_c(arm_vec4f_t * dst, arm_vec4f_t * src1, arm_vec4
 
 
 
-extern arm_result_t vmla_vec2f_c(arm_vec2f_t * acc, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
-extern arm_result_t vmla_vec3f_c(arm_vec3f_t * acc, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
-extern arm_result_t vmla_vec4f_c(arm_vec4f_t * acc, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec2f_c(arm_vec2f_t * dst, arm_vec2f_t * acc, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec3f_c(arm_vec3f_t * dst, arm_vec3f_t * acc, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec4f_c(arm_vec4f_t * dst, arm_vec4f_t * acc, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
 
 
 
index 411a6593a87de603db7387edc116323e33283757..815e356cf77e9a3ebbc13ae2ca4574ad135ea6bd 100644 (file)
@@ -119,9 +119,9 @@ extern arm_result_t vdiv_vec4f_neon(arm_vec4f_t * dst, arm_vec4f_t * src1, arm_v
 
 
 
-extern arm_result_t vmla_vec2f_neon(arm_vec2f_t * acc, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
-extern arm_result_t vmla_vec3f_neon(arm_vec3f_t * acc, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
-extern arm_result_t vmla_vec4f_neon(arm_vec4f_t * acc, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec2f_neon(arm_vec2f_t * dst, arm_vec2f_t * acc, arm_vec2f_t * src1, arm_vec2f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec3f_neon(arm_vec3f_t * dst, arm_vec3f_t * acc, arm_vec3f_t * src1, arm_vec3f_t * src2, unsigned int count);
+extern arm_result_t vmla_vec4f_neon(arm_vec4f_t * dst, arm_vec4f_t * acc, arm_vec4f_t * src1, arm_vec4f_t * src2, unsigned int count);