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





------- Comment #11 from [EMAIL PROTECTED]  2007-09-08 04:38 PST -------
(In reply to comment #10)
> I have been looking at x86-64/xform.S
> 
> _mesa_x86_64_transform_points4_general code segment is pretty shaky in a 
> couple
> of places. 
> 1) 3DNow! prefetch instructions are used when SSE includes analogous
> instructions and all x86-64 processors include SSE.
Yes, those should be replaced. But other functions in the same file use other
3DNow! instructions, so only replacing those doesn't really help. (And,
shouldn't you actually prefetch further ahead, at least by a cache line for
optimal performance?)

> 2) The stride loaded into %eax register (line 41) doesn't have to be 16, and
> therefore even if the pointer was aligned from the compiler, the 'movaps'
> instruction could not be used unless the stride's lower 3 bits are zero (i.e.
> sum of values >= 16)
Ok. Guess we need the movups then. Depending where the stride comes from it is
possible it is a multiple of 16, but I haven't looked at it.

> 3) 0xf3 before ret (??)
No idea there... That's just another case of no-op padding, but why is it
needed?

> 4) no-op padding (has anyone tested if this actually helps performance?)
Possibly the original author, but I'm sure noone else.

> 5) Aligned moves used on the matrix data.
> 
> Is the stride always 16 (4x32) for V4F vector values?
If this is a mesa matrix, then this should be true. The matrix constructor uses
16 byte alignment (_math_matrix_ctr).

As I said, patches welcome :-).


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

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to