http://bugs.freedesktop.org/show_bug.cgi?id=27286





--- Comment #5 from Brian Paul <brian.e.p...@gmail.com>  2010-03-25 17:23:47 
PST ---
Off-hand, I _think_ this is an issue with the SSE rcp (reciprocol) instruction.
 Per the comment in the code, I think we need to produce a more accurate
result:

static void
emit_rcp (
   struct x86_function *func,
   unsigned xmm_dst,
   unsigned xmm_src )
{
   /* On Intel CPUs at least, this is only accurate to 12 bits -- not
    * good enough.  Need to either emit a proper divide or use the
    * iterative technique described below in emit_rsqrt().
    */
   sse2_rcpps(
      func,
      make_xmm( xmm_dst ),
      make_xmm( xmm_src ) );
}

Maybe someone handier with SSE can try to fix this.  The emit_rsqrt() function
further down uses a Newton-Raphson step to improve the results.  That could
help.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to