[Mono-dev] Mono generates inefficient vectorized code

Sergei Dyshel qyron.private at gmail.com
Fri Mar 12 05:28:09 EST 2010

Thanks for you answers, these are very good news! Last time I was
checking Mono-LLVM, somewhere in December 2009, it didn't handle SIMD.

The problem with Mono-LLVM is that it's implemented only for x86 and
ARM targets and I basing my research mostly on PowerPC (with Altivec).
By trying to build on PowerPC I realized that the only thing missing
(correct me if I wrong) from mini-ppc.c is implementation of
mono_arch_get_llvm_call_info() functions. The implementations in
mini-x86.c and mini-arm.c look pretty similar. Can I simply write this
function in mini-ppc.c in the same way and thus make it work on
Sergei Dyshel

On Fri, Mar 12, 2010 at 02:33, Rodrigo Kumpera <kumpera at gmail.com> wrote:
> On Thu, Mar 11, 2010 at 9:15 PM, Sergei Dyshel <qyron.private at gmail.com>
> wrote:
>> Hello Rodrigo,
>> Thanks for the quick answer! But do you mean by it that the only
>> problem is in lack of global register allocator? What if 'temp' was
>> not vector but some bare 'int' temporary, would it be loaded and
>> stored in each iteration?
>> Another question. I know that there is also LLVM engine in Mono and
>> LLVM generally supports vector instructions in his IR. Is it hard to
>> add SIMD support to mono-llvm.c?
> mono-llvm already has some initial support for simd.

More information about the Mono-devel-list mailing list