|
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], |