[Pixman] ARM iwmmxt patches

Matt Turner mattst88 at gmail.com
Wed Aug 31 17:17:37 PDT 2011


On Wed, Aug 31, 2011 at 7:37 PM, Soeren Sandmann <sandmann at cs.au.dk> wrote:
> Matt Turner <mattst88 at gmail.com> writes:
>
>>>> Never does using inline assembly seem to make any sort of meaningful
>>>> difference over simply compiling pixman-mmx.c for ARM/iwmmxt. I tried
>>>> checking the alignment in the 'wip' commit in the blt function to
>>>> avoid a lot of unnecessary walign instructions, but as you can see
>>>> from the benchmark results, it doesn't help anything.
>>>
>>> The cairo-trace tests are better benchmarks to use in general because
>>> they reflect real-world use. lowlevel-blt-bench really should only be
>>> used for the case where you are optimizing a specific compositing
>>> routine.
>>
>> OK, I'll run cairo-trace to determine the effect of the inline
>> assembly. I think the addition of inline assembly could go in as
>> follow-on patches though, right?
>
> Right, as long as they are not required to avoid regressions on either
> x86 or ARM.
>
> There are still some problems with the rest of the patch set
> though. Several of the comments from Siarhei and me have not been
> addressed, and compiling your iwmmxt-optimizations2 branch on x86
> results in
>
> ../pixman/.libs/libpixman-1.so: undefined reference to `_mm_align_si64'

Ah, that was silly. That's now fixed, and I modified the ld{l,q}_u
functions to simply return *p on x86, since we don't really want to
change x86's code generation.

I looked through all the emails and I think I've addressed all the
other concerns, outside of discussion about inline assembly, which
will done later.

I pushed an iwmmxt-optimizations3 branch with a modified 'mmx: fix
unaligned accesses' patch and I wrote better commit messages for it
and 'mmx: compile on ARM for iwmmxt optimizations'.

Thanks,
Matt


More information about the Pixman mailing list