Lines 363-380
Link Here
|
363 |
|
363 |
|
364 |
dnl =========================================================================== |
364 |
dnl =========================================================================== |
365 |
dnl Check for ARM SIMD instructions |
365 |
dnl Check for ARM SIMD instructions |
366 |
ARM_SIMD_CFLAGS="-mcpu=arm1136j-s" |
|
|
367 |
|
368 |
have_arm_simd=no |
366 |
have_arm_simd=no |
369 |
AC_MSG_CHECKING(whether to use ARM SIMD assembler) |
367 |
AC_MSG_CHECKING(whether to use ARM SIMD assembler) |
370 |
xserver_save_CFLAGS=$CFLAGS |
|
|
371 |
CFLAGS="$ARM_SIMD_CFLAGS $CFLAGS" |
372 |
AC_COMPILE_IFELSE([ |
368 |
AC_COMPILE_IFELSE([ |
373 |
int main () { |
369 |
int main () { |
374 |
asm("uqadd8 r1, r1, r2"); |
370 |
asm("uqadd8 r1, r1, r2"); |
375 |
return 0; |
371 |
return 0; |
376 |
}], have_arm_simd=yes) |
372 |
}], have_arm_simd=yes) |
377 |
CFLAGS=$xserver_save_CFLAGS |
|
|
378 |
|
373 |
|
379 |
AC_ARG_ENABLE(arm-simd, |
374 |
AC_ARG_ENABLE(arm-simd, |
380 |
[AC_HELP_STRING([--disable-arm-simd], |
375 |
[AC_HELP_STRING([--disable-arm-simd], |
Lines 404-421
Link Here
|
404 |
dnl Check if assembler is gas compatible and supports NEON instructions |
399 |
dnl Check if assembler is gas compatible and supports NEON instructions |
405 |
have_arm_neon=no |
400 |
have_arm_neon=no |
406 |
AC_MSG_CHECKING(whether to use ARM NEON assembler) |
401 |
AC_MSG_CHECKING(whether to use ARM NEON assembler) |
407 |
xserver_save_CFLAGS=$CFLAGS |
402 |
AC_COMPILE_IFELSE([ |
408 |
CFLAGS="-x assembler-with-cpp" |
|
|
409 |
AC_COMPILE_IFELSE([[ |
410 |
.text |
411 |
.fpu neon |
412 |
.altmacro |
413 |
#ifndef __ARM_EABI__ |
403 |
#ifndef __ARM_EABI__ |
414 |
#error EABI is required (to be sure that calling conventions are compatible) |
404 |
#error EABI is required (to be sure that calling conventions are compatible) |
415 |
#endif |
405 |
#endif |
416 |
pld [r0] |
406 |
int main () { |
417 |
vmovn.u16 d0, q0]], have_arm_neon=yes) |
407 |
asm("pld r0"); |
418 |
CFLAGS=$xserver_save_CFLAGS |
408 |
asm("vmovn.u16 d0, q0"); |
|
|
409 |
return 0; |
410 |
}], have_arm_neon=yes) |
419 |
|
411 |
|
420 |
AC_ARG_ENABLE(arm-neon, |
412 |
AC_ARG_ENABLE(arm-neon, |
421 |
[AC_HELP_STRING([--disable-arm-neon], |
413 |
[AC_HELP_STRING([--disable-arm-neon], |