[Mono-dev] [PATCH] Optimize Mono.Simd non-accelerated bitwise-ops

Rodrigo Kumpera kumpera at gmail.com
Tue Nov 11 15:54:00 EST 2008


Hi Cedric,



On Mon, Nov 10, 2008 at 3:50 AM, Cedric Vivier <cedricv at neonux.com> wrote:

> Hi Rodrigo,
>
> While playing with Mono.Simd on a (for now ;( ) non-accelerated x86-64
> setup [1], I've
> noticed that performance of bitwise-ops on Vector16b and others could
> be improved.
>
> This patch implements these ops as two 64-bit bitwise ops [2] instead
> of processing
> each vector element separately. Giving up to 4X perf increase for
> Vector16(s)b and 2X for others.
>
> Please review,
>

The patch looks fine, please commit.


>
> 1: any plans about enabling acceleration on x86-64 soon?



Soon? No. But I wish to have a x86-64 preview for the 2.4 release.
Right now everyones attention is in the 2.2 release, so no work
will be done on the port.


>
> 2: using two ulong obviously gives the best perf on x86-64, I have no
> 32-bit setup handy
> to test if it would give significantly better perf using four uint
> instead on them (at the expense of 64-bit platforms though if it
> would).
>

The code under 32bits won't be significantly worse by using ulong.
The penalty is not significant enough.


Thanks,
Rodrigo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20081111/3bdbf267/attachment-0001.html 


More information about the Mono-devel-list mailing list