Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19328
Modified Files: Tag: devel_0_37 m_pd.h Log Message: exporting simd functions
Index: m_pd.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v retrieving revision 1.1.1.4.2.22 retrieving revision 1.1.1.4.2.23 diff -C2 -d -r1.1.1.4.2.22 -r1.1.1.4.2.23 *** m_pd.h 14 Oct 2004 11:01:33 -0000 1.1.1.4.2.22 --- m_pd.h 18 Oct 2004 14:04:28 -0000 1.1.1.4.2.23 *************** *** 517,525 **** typedef t_int *(*t_perfroutine)(t_int *args);
! EXTERN t_int *plus_perform(t_int *args); ! EXTERN t_int *plus_perf8(t_int *args); EXTERN t_int *zero_perform(t_int *args); EXTERN t_int *copy_perform(t_int *args);
EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); --- 517,588 ---- typedef t_int *(*t_perfroutine)(t_int *args);
! /* tb: exporting basic arithmetic dsp functions { ! * ! * for (n % 8) != 0 ! */ EXTERN t_int *zero_perform(t_int *args); EXTERN t_int *copy_perform(t_int *args);
+ EXTERN t_int *plus_perform(t_int *args); + EXTERN t_int *scalarplus_perform(t_int *args); + EXTERN t_int *minus_perform(t_int *args); + EXTERN t_int *scalarminus_perform(t_int *args); + EXTERN t_int *times_perform(t_int *args); + EXTERN t_int *scalartimes_perform(t_int *args); + EXTERN t_int *over_perform(t_int *args); + EXTERN t_int *scalarover_perform(t_int *args); + + EXTERN t_int *max_perform(t_int *args); + EXTERN t_int *scalarmax_perform(t_int *args); + EXTERN t_int *min_perform(t_int *args); + EXTERN t_int *scalarmin_perform(t_int *args); + + EXTERN t_int *sig_tilde_perform(t_int *args); + + /* for (n % 8) == 0 */ + EXTERN t_int *zero_perf8(t_int *args); + EXTERN t_int *copy_perf8(t_int *args); + + EXTERN t_int *plus_perf8(t_int *args); + EXTERN t_int *scalarplus_perf8(t_int *args); + EXTERN t_int *minus_perf8(t_int *args); + EXTERN t_int *scalarminus_perf8(t_int *args); + EXTERN t_int *times_perf8(t_int *args); + EXTERN t_int *scalartimes_perf8(t_int *args); + EXTERN t_int *sqr_perf8(t_int *args); + EXTERN t_int *over_perf8(t_int *args); + EXTERN t_int *scalarover_perf8(t_int *args); + + EXTERN t_int *max_perf8(t_int *args); + EXTERN t_int *scalarmax_perf8(t_int *args); + EXTERN t_int *min_perf8(t_int *args); + EXTERN t_int *scalarmin_perf8(t_int *args); + + EXTERN t_int *sig_tilde_perf8(t_int *args); + + /* for (n % 8) == 0 && aligned signal vectors + * check with simd_checkX functions !!! + */ + EXTERN t_int *zero_perf_simd(t_int *args); + EXTERN t_int *copy_perf_simd(t_int *args); + + EXTERN t_int *plus_perf_simd(t_int *args); + EXTERN t_int *scalarplus_perf_simd(t_int *args); + EXTERN t_int *minus_perf_simd(t_int *args); + EXTERN t_int *scalarminus_perf_simd(t_int *args); + EXTERN t_int *times_perf_simd(t_int *args); + EXTERN t_int *scalartimes_perf_simd(t_int *args); + EXTERN t_int *sqr_perf_simd(t_int *args); + EXTERN t_int *over_perf_simd(t_int *args); + EXTERN t_int *scalarover_perf_simd(t_int *args); + + EXTERN t_int *max_perf_simd(t_int *args); + EXTERN t_int *scalarmax_perf_simd(t_int *args); + EXTERN t_int *min_perf_simd(t_int *args); + EXTERN t_int *scalarmin_perf_simd(t_int *args); + + EXTERN t_int *sig_tilde_perf_simd(t_int *args); + /* } tb */ + EXTERN void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n); EXTERN void dsp_add_copy(t_sample *in, t_sample *out, int n); *************** *** 581,601 ****
/* vectorized, not simd functions*/ ! /* EXTERN void zerovec_8(t_float *dst,int n); */ ! /* EXTERN void setvec_8(t_float *dst,t_float v,int n); */ ! /* EXTERN void copyvec_8(t_float *dst,const t_float *src,int n); */ ! /* EXTERN void addvec_8(t_float *dst,const t_float *src,int n); */ ! /* EXTERN void testcopyvec_8(t_float *dst,const t_float *src,int n); */ ! /* EXTERN void testaddvec_8(t_float *dst,const t_float *src,int n); */
/* vectorized, simd functions * * dst and src are assumed to be aligned */ ! /* EXTERN t_int simd_runtime_check(void); */ ! /* EXTERN void zerovec_simd(t_float *dst,int n); */ ! /* EXTERN void setvec_simd(t_float *dst,t_float v,int n); */ ! /* EXTERN void copyvec_simd(t_float *dst,const t_float *src,int n); */ ! /* EXTERN void addvec_simd(t_float *dst,const t_float *src,int n); */ ! /* EXTERN void testcopyvec_simd(t_float *dst,const t_float *src,int n); */ ! /* EXTERN void testaddvec_simd(t_float *dst,const t_float *src,int n); */
EXTERN int simd_check1(t_int n, t_float* ptr1); EXTERN int simd_check2(t_int n, t_float* ptr1, t_float* ptr2); --- 644,664 ----
/* vectorized, not simd functions*/ ! EXTERN void zerovec_8(t_float *dst,int n); ! EXTERN void setvec_8(t_float *dst,t_float v,int n); ! EXTERN void copyvec_8(t_float *dst,const t_float *src,int n); ! EXTERN void addvec_8(t_float *dst,const t_float *src,int n); ! EXTERN void testcopyvec_8(t_float *dst,const t_float *src,int n); ! EXTERN void testaddvec_8(t_float *dst,const t_float *src,int n);
/* vectorized, simd functions * * dst and src are assumed to be aligned */ ! EXTERN void zerovec_simd(t_float *dst,int n); ! EXTERN void setvec_simd(t_float *dst,t_float v,int n); ! EXTERN void copyvec_simd(t_float *dst,const t_float *src,int n); ! EXTERN void addvec_simd(t_float *dst,const t_float *src,int n); ! EXTERN void testcopyvec_simd(t_float *dst,const t_float *src,int n); ! EXTERN void testaddvec_simd(t_float *dst,const t_float *src,int n);
+ EXTERN int simd_runtime_check(void); EXTERN int simd_check1(t_int n, t_float* ptr1); EXTERN int simd_check2(t_int n, t_float* ptr1, t_float* ptr2);