[Mono-bugs] [Bug 662127] Add missing Mono.Simd functionaly and fix bugs

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Jan 3 16:08:05 EST 2011


https://bugzilla.novell.com/show_bug.cgi?id=662127

https://bugzilla.novell.com/show_bug.cgi?id=662127#c1


Michael Hutchinson <mhutchinson at novell.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mhutchinson at novell.com

--- Comment #1 from Michael Hutchinson <mhutchinson at novell.com> 2011-01-03 21:08:04 UTC ---
I have been developing a Mono.Simd-accelerated version of the XNA maths
classes, and I found the following problems:

* the JIT handling of aligment is poor; sometimes randomly makes functions 10x
slower

* Mono.Simd needs ref overloads for *everything* (including operators) else
fallbacks are unnecessarily forced to be much slower

* the JIT does not deal well with trivial indirection, e.g. Vector4 struct with
single Vector4f struct field. op_Multiply is 5x slower than using Vector4f
directly.

* on x86 the JIT uses x87 FPU, so comparisons to SSE are not fair

* JIT doesn't seem to inline trivial methods that simply call another method or
intrinsic, e.g. operator overloads calling static method version, so I had to
inline a lot by hand

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list