[Pixman] performance of bilinear_interpolation

Maksim Lin maks at manichord.com
Wed Oct 9 02:11:43 PDT 2013


Hi xunxun,

With gcc, I'm guessing the firefox build uses the gcc bundled with the
android NDK so I'm not sure but I'd expect it would support
__force_align_arg_pointer__ at least for the x88 (i386) target.

I think USE_SSE2 is set correctly by the Makefile, because I added
into pixman-x86.c to:
#ifdef USE_SSE2
    if (!_pixman_disabled ("sse2") && have_feature (SSE2_BITS)) {
        imp = _pixman_implementation_create_sse2 (imp);
        __android_log_print(ANDROID_LOG_DEBUG,"MAKS", "using SSE2 impl");
    }
#endif

and when I run firefox on my android x86 netbook, I do see in the logcat output:

10-09 05:49:22.920  4639  4668 D MAKS    : using SSE2 impl

So I assumed it was enabled at run time or is there something else I
also need to check?

thanks,
Maks.

On Wed, Oct 9, 2013 at 6:40 PM, xunxun <xunxun1982 at gmail.com> wrote:
>
> On Wed, Oct 9, 2013 at 1:52 PM, Maksim Lin <maks at manichord.com> wrote:
>>
>> scaled_bilinear_scanline_sse2_x888_8888_SRC
>
>
> pixman-sse2.c needs USE_SSE2=1
>
> Do you make sure Firefox for Android for x86's libpixman's module defines
> USE_SSE2.
>
> I saw the makefile:
> ---------------------------------------------
> ifdef GNU_CC
> ifeq (ppc,$(findstring ppc,$(OS_TEST)))
> USE_VMX=1
> VMX_CFLAGS=-maltivec
> endif
> ifeq (86,$(findstring 86,$(OS_TEST)))
> USE_MMX=1
> MMX_CFLAGS=-mmmx -Winline
> ifeq (64,$(findstring 64,$(OS_TEST)))
> USE_SSE2=1
> endif
> ifdef HAVE_GCC_ALIGN_ARG_POINTER
> USE_SSE2=1
> endif
> ifdef USE_SSE2
> SSE2_CFLAGS=-msse -msse2 -Winline
> endif
> ifneq ($(MOZ_WIDGET_TOOLKIT),os2)
> MMX_CFLAGS+=--param inline-unit-growth=10000 --param
> large-function-growth=10000
> endif
> endif
> ---------------------------------------------------------
> I don't know your $(OS_TEST), if it has 64, USE_SSE2 is defined.
>
> And except it, GCC USE_SSE2 depends on HAVE_GCC_ALIGN_ARG_POINTER, too.
> Does your toolchain support
>
> __attribute__ ((__force_align_arg_pointer__))  ?
>
>
>
>
> --
> Best Regards,
> xunxun


More information about the Pixman mailing list