mozilla-disable-neon-option.patch
author Dinar Valeev
Tue, 07 Feb 2012 19:07:59 +0100
changeset 378 dfb824794771
parent 371 ead21d122ed0
child 382 67f876aafae8
permissions -rw-r--r--
import upstream patches to fix PPC64
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
371
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     1
# HG changeset patch
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     2
# User Joop Boonen <joop.boonen@opensuse.org>
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     3
# Parent be20a0ae420eb2b3584ce2c5d241e2817bac8593
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     4
Add configure option to allow disabling of neon.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     5
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     6
diff --git a/configure.in b/configure.in
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     7
--- a/configure.in
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     8
+++ b/configure.in
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
     9
@@ -1674,41 +1674,47 @@ if test -n "$all_flags"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    10
     ASFLAGS="$ASFLAGS $all_flags"
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    11
     if test -n "$thumb_flag"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    12
         LDFLAGS="$LDFLAGS $thumb_flag"
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    13
     fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    14
 fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    15
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    16
 AC_SUBST(MOZ_THUMB2)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    17
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    18
-if test "$CPU_ARCH" = "arm"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    19
-  AC_MSG_CHECKING(for ARM SIMD support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    20
-  # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    21
-  # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    22
-  AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    23
-                 [asm("uqadd8 r1, r1, r2");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    24
-                 result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    25
-  AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    26
-  if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    27
-      AC_DEFINE(HAVE_ARM_SIMD)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    28
-      HAVE_ARM_SIMD=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    29
-  fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    30
-
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    31
-  AC_MSG_CHECKING(for ARM NEON support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    32
-  # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    33
-  # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    34
-  AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    35
-                 [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    36
-                 result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    37
-  AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    38
-  if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    39
-      AC_DEFINE(HAVE_ARM_NEON)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    40
-      HAVE_ARM_NEON=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    41
-  fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    42
-fi # CPU_ARCH = arm
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    43
+MOZ_ARG_DISABLE_BOOL(neon,
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    44
+[  --disable-neon       Disable neon extensions],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    45
+    NS_DISABLE_NEON=1,
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    46
+    NS_DISABLE_NEON= )
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    47
+if test "$NS_DISABLE_NEON" != "1"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    48
+  if test "$CPU_ARCH" = "arm"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    49
+    AC_MSG_CHECKING(for ARM SIMD support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    50
+    # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    51
+    # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    52
+    AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    53
+                   [asm("uqadd8 r1, r1, r2");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    54
+                   result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    55
+    AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    56
+    if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    57
+        AC_DEFINE(HAVE_ARM_SIMD)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    58
+        HAVE_ARM_SIMD=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    59
+    fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    60
+
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    61
+    AC_MSG_CHECKING(for ARM NEON support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    62
+    # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    63
+    # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    64
+    AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    65
+                   [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    66
+                   result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    67
+    AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    68
+    if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    69
+        AC_DEFINE(HAVE_ARM_NEON)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    70
+        HAVE_ARM_NEON=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    71
+    fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    72
+  fi # CPU_ARCH = arm
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    73
+fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    74
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    75
 AC_SUBST(HAVE_ARM_SIMD)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    76
 AC_SUBST(HAVE_ARM_NEON)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    77
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    78
 dnl ========================================================
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    79
 dnl Android libstdc++, placed here so it can use MOZ_ARCH
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    80
 dnl computed above.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    81
 dnl ========================================================
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    82
diff --git a/js/src/configure.in b/js/src/configure.in
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    83
--- a/js/src/configure.in
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    84
+++ b/js/src/configure.in
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    85
@@ -1604,41 +1604,47 @@ if test -n "$all_flags"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    86
     ASFLAGS="$ASFLAGS $all_flags"
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    87
     if test -n "$thumb_flag"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    88
         LDFLAGS="$LDFLAGS $thumb_flag"
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    89
     fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    90
 fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    91
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    92
 AC_SUBST(MOZ_THUMB2)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    93
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    94
-if test "$CPU_ARCH" = "arm"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    95
-  AC_MSG_CHECKING(for ARM SIMD support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    96
-  # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    97
-  # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    98
-  AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
    99
-                 [asm("uqadd8 r1, r1, r2");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   100
-                 result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   101
-  AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   102
-  if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   103
-      AC_DEFINE(HAVE_ARM_SIMD)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   104
-      HAVE_ARM_SIMD=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   105
-  fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   106
-
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   107
-  AC_MSG_CHECKING(for ARM NEON support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   108
-  # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   109
-  # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   110
-  AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   111
-                 [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   112
-                 result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   113
-  AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   114
-  if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   115
-      AC_DEFINE(HAVE_ARM_NEON)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   116
-      HAVE_ARM_NEON=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   117
-  fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   118
-fi # CPU_ARCH = arm
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   119
+MOZ_ARG_DISABLE_BOOL(neon,
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   120
+[  --disable-neon       Disable neon extensions],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   121
+    NS_DISABLE_NEON=1,
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   122
+    NS_DISABLE_NEON= )
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   123
+if test "$NS_DISABLE_NEON" != "1"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   124
+  if test "$CPU_ARCH" = "arm"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   125
+    AC_MSG_CHECKING(for ARM SIMD support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   126
+    # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   127
+    # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   128
+    AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   129
+                   [asm("uqadd8 r1, r1, r2");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   130
+                   result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   131
+    AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   132
+    if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   133
+        AC_DEFINE(HAVE_ARM_SIMD)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   134
+        HAVE_ARM_SIMD=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   135
+    fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   136
+
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   137
+    AC_MSG_CHECKING(for ARM NEON support in compiler)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   138
+    # We try to link so that this also fails when
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   139
+    # building with LTO.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   140
+    AC_TRY_LINK([],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   141
+                   [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   142
+                   result="yes", result="no")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   143
+    AC_MSG_RESULT("$result")
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   144
+    if test "$result" = "yes"; then
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   145
+        AC_DEFINE(HAVE_ARM_NEON)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   146
+        HAVE_ARM_NEON=1
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   147
+    fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   148
+  fi # CPU_ARCH = arm
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   149
+fi
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   150
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   151
 AC_SUBST(HAVE_ARM_SIMD)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   152
 AC_SUBST(HAVE_ARM_NEON)
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   153
 
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   154
 dnl ========================================================
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   155
 dnl Android libstdc++, placed here so it can use MOZ_ARCH
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   156
 dnl computed above.
ead21d122ed0 introduce --disable-neon option and use on ARM
Joop Boonen <joop.boonen@opensuse.org>
parents:
diff changeset
   157
 dnl ========================================================