Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3329
Modified Files: Tag: devel_0_38 m_simd_sse_gcc.c Log Message:
fixed bug while loading floats to xmm registers
Index: m_simd_sse_gcc.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/m_simd_sse_gcc.c,v retrieving revision 1.1.4.1 retrieving revision 1.1.4.2 diff -C2 -d -r1.1.4.1 -r1.1.4.2 *** m_simd_sse_gcc.c 5 Nov 2004 13:33:19 -0000 1.1.4.1 --- m_simd_sse_gcc.c 10 Nov 2004 07:26:07 -0000 1.1.4.2 *************** *** 260,264 **** : /* in, value, out, n */ ! :"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); --- 260,264 ---- : /* in, value, out, n */ ! :"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); *************** *** 336,340 **** : /* in, value, out, n */ ! :"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); --- 336,340 ---- : /* in, value, out, n */ ! :"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); *************** *** 387,391 **** ".set T_FLOAT,4 \n" ! "shufps $0, %1, %1 \n" "shrl $4, %3 \n" /* divide by 16 */
--- 387,391 ---- ".set T_FLOAT,4 \n" ! "shufps $0, %1, %1 \n" "shrl $4, %3 \n" /* divide by 16 */
*************** *** 413,417 **** : /* in, value, out, n */ ! :"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); --- 413,417 ---- : /* in, value, out, n */ ! :"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); *************** *** 525,529 **** : /* in, value, out, n */ ! :"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); --- 525,529 ---- : /* in, value, out, n */ ! :"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); *************** *** 603,607 **** : /* in, value, out, n */ ! :"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); --- 603,607 ---- : /* in, value, out, n */ ! :"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); *************** *** 681,685 **** : /* in, value, out, n */ ! :"r"(w[1]),"x"((t_float)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" ); --- 681,685 ---- : /* in, value, out, n */ ! :"r"(w[1]),"x"(*(t_float*)w[2]),"r"(w[3]),"c"(w[4]) :"%xmm1","%xmm2","%xmm3","%xmm4" );