pixman doesn't autodetect SIMD support at build time on arm.

Bug #535183 reported by Robert Hooker
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pixman (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Like the summary says, pixman is compiling without SIMD support on arm when the same package compiled under karmic does enable SIMD support.

The configure.ac check that is failing -

dnl Check for ARM SIMD instructions
ARM_SIMD_CFLAGS="-mcpu=arm1136j-s"

have_arm_simd=no
AC_MSG_CHECKING(whether to use ARM SIMD assembler)
xserver_save_CFLAGS=$CFLAGS
CFLAGS="$ARM_SIMD_CFLAGS $CFLAGS"
AC_COMPILE_IFELSE([
int main () {
    asm("uqadd8 r1, r1, r2");
    return 0;
}], have_arm_simd=yes)
CFLAGS=$xserver_save_CFLAGS

AC_ARG_ENABLE(arm-simd,
   [AC_HELP_STRING([--disable-arm-simd],
                   [disable ARM SIMD fast paths])],
   [enable_arm_simd=$enableval], [enable_arm_simd=auto])

if test $enable_arm_simd = no ; then
   have_arm_simd=disabled
fi

if test $have_arm_simd = yes ; then
   AC_DEFINE(USE_ARM_SIMD, 1, [use ARM SIMD compiler intrinsics])
else
   ARM_SIMD_CFLAGS=
fi

AC_MSG_RESULT($have_arm_simd)
if test $enable_arm_simd = yes && test $have_arm_simd = no ; then
   AC_MSG_ERROR([ARM SIMD intrinsics not detected])
fi

AC_SUBST(ARM_SIMD_CFLAGS)

AM_CONDITIONAL(USE_ARM_SIMD, test $have_arm_simd = yes)

from #ubuntu-arm irc with a fix-
<lool> Sarvatt: Quick workaround for you: add CFLAGS+=-marm in debian/rules

Related branches

Revision history for this message
Loïc Minier (lool) wrote :

uqadd isn't available in thumb mode; we need to either build pixman/pixman-arm-simd.c with -marm or find a replacement instruction.

Revision history for this message
Loïc Minier (lool) wrote :
Revision history for this message
Loïc Minier (lool) wrote :
Revision history for this message
Robert Hooker (sarvatt) wrote :

debdiff from pixman 0.16.4-1 containing the fix.

Changelog:
pixman (0.16.4-1ubuntu1) lucid; urgency=low

  * Add 100-pixman-arm-simd-fix.patch: Fixes ARM SIMD support detection
    failing at compile time when -mthumb is a toolchain default.
    (LP: #535183)

 -- Robert Hooker <email address hidden> Tue, 09 Mar 2010 15:07:53 -0500

Revision history for this message
Loïc Minier (lool) wrote :

Uploaded with one minor change: renamed Vcs-* to XS-Debian-Vcs-*.

Revision history for this message
Loïc Minier (lool) wrote :

(thanks!)

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pixman - 0.16.4-1ubuntu1

---------------
pixman (0.16.4-1ubuntu1) lucid; urgency=low

  * Add 100-pixman-arm-simd-fix.patch: Fixes ARM SIMD support detection
    failing at compile time when -mthumb is a toolchain default.
    (LP: #535183)
 -- Robert Hooker <email address hidden> Tue, 09 Mar 2010 15:07:53 -0500

Changed in pixman (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.