Re: [gmp-bugs] Build feedback for gmp-6.1.0

2016-02-26 Thread Niels Möller
t...@gmplib.org (Torbjörn Granlund) writes:

> The /proc/cpuinfo suggest Cortex C9.  It has Neon, and we do attempt to
> put the compiler/assembler into a mode where Neon insn are accepted.  Yet...

At least for fat builds, it might still make sense to also add an explicit 

  .fpu neon

to neon assembly files. To handle the case that we don't want the
compiler to emit any neon instructions, but will still want to use neon
in assembly files which are used at runtime only if the fat machinery
thinks the processor supports it.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
___
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs


Re: [gmp-bugs] Build feedback for gmp-6.1.0

2016-02-25 Thread Torbjörn Granlund
"Nelson H. F. Beebe"  writes:

  Marc Glisse  asks on Thu, 25 Feb 2016 17:38:58
  +0100 (CET) about my problem report for a build failure on ArchLinux
  on ARM:
  
  >> I was asking if CFLAGS is set in your environment, before trying to build 
  >> GMP.
  
  Yes, my $HOME/.config.site, to which CONFIG_SITE points so that
  the configure script can find it, reports when it finishes:
  
  At exit from $HOME/.config.site, that script reports:
  
  exec_prefix  = NONE
  prefix   = /usr/uumath
  libdir   = ${exec_prefix}/lib
  CC   =
  CFLAGS   =  -I${prefix}/include
  CXX  =
  CXXFLAGS =  -I${prefix}/include
  LDFLAGS  = -L${exec_prefix}/lib -Wl,-rpath,${exec_prefix}/lib
  
If you set these variables, then you can expect GMP and other builds to
fail.

(You will also disable optimisation, except those packages that ignore
your settings.)

-- 
Torbjörn
Please encrypt, key id 0xC8601622
___
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs


Re: [gmp-bugs] Build feedback for gmp-6.1.0

2016-02-25 Thread Nelson H. F. Beebe
Marc Glisse  asks on Thu, 25 Feb 2016 17:38:58
+0100 (CET) about my problem report for a build failure on ArchLinux
on ARM:

>> I was asking if CFLAGS is set in your environment, before trying to build 
>> GMP.

Yes, my $HOME/.config.site, to which CONFIG_SITE points so that
the configure script can find it, reports when it finishes:

At exit from $HOME/.config.site, that script reports:

exec_prefix  = NONE
prefix   = /usr/uumath
libdir   = ${exec_prefix}/lib
CC   =
CFLAGS   =  -I${prefix}/include
CXX  =
CXXFLAGS =  -I${prefix}/include
LDFLAGS  = -L${exec_prefix}/lib -Wl,-rpath,${exec_prefix}/lib

I'm currently building on more than 75 different O/S-CPU platforms for
all local software, and also GNU and other free software.

Similar settings are done on all of those build hosts, and the
building is automated and parallelized by the build-all system
described in Chapter 8 of our 2005 book Classic Shell Scripting.  That
system has been used here for more than 200,000 automated builds since
we developed it (June 2003) for our book, and because of the growing
size of our test lab, use is increasing.

The ARM processor family is notorious for the number of
instruction-set-architecture variants with its various chip models,
and I assume that once gmp can properly identify the particular
processor type, it should be able to either have an alternate
assembly-code version for the failing file (tmp-lshift.s), or else
revert to a portable C version.

On my ARM appliance box, I can also report this output:

% /usr/sbin/lscpu
Architecture:  armv7l
Byte Order:Little Endian
CPU(s):4
On-line CPU(s) list:   0-3
Thread(s) per core:1
Core(s) per socket:4
Socket(s): 1
Model name:ARMv7 Processor rev 10 (v7l)
CPU max MHz:   996.
CPU min MHz:   396.

Finally, here are the symbols that the native compiler defines [the
shell script used is freely available here:

http://www.math.utah.edu/~beebe/cc-defs

]:

% cc-defs /usr/bin/cc
#define _STDC_PREDEF_H 1
#define __ACCUM_EPSILON__ 0x1P-15K
#define __ACCUM_FBIT__ 15
#define __ACCUM_IBIT__ 16
#define __ACCUM_MAX__ 0X7FFFP-15K
#define __ACCUM_MIN__ (-0X1P15K-0X1P15K)
#define __APCS_32__ 1
#define __ARMEL__ 1
#define __ARM_32BIT_STATE 1
#define __ARM_ARCH 7
#define __ARM_ARCH_7A__ 1
#define __ARM_ARCH_ISA_ARM 1
#define __ARM_ARCH_ISA_THUMB 2
#define __ARM_ARCH_PROFILE 65
#define __ARM_EABI__ 1
#define __ARM_FEATURE_CLZ 1
#define __ARM_FEATURE_DSP 1
#define __ARM_FEATURE_LDREX 15
#define __ARM_FEATURE_QBIT 1
#define __ARM_FEATURE_SAT 1
#define __ARM_FEATURE_SIMD32 1
#define __ARM_FEATURE_UNALIGNED 1
#define __ARM_FP 12
#define __ARM_PCS_VFP 1
#define __ARM_SIZEOF_MINIMAL_ENUM 4
#define __ARM_SIZEOF_WCHAR_T 4
#define __ATOMIC_ACQUIRE 2
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_CONSUME 1
#define __ATOMIC_RELAXED 0
#define __ATOMIC_RELEASE 3
#define __ATOMIC_SEQ_CST 5
#define __BIGGEST_ALIGNMENT__ 8
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __CHAR16_TYPE__ short unsigned int
#define __CHAR32_TYPE__ unsigned int
#define __CHAR_BIT__ 8
#define __CHAR_UNSIGNED__ 1
#define __DA_FBIT__ 31
#define __DA_IBIT__ 32
#define __DBL_DECIMAL_DIG__ 17
#define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L)
#define __DBL_DIG__ 15
#define __DBL_EPSILON__ ((double)2.2204460492503131e-16L)
#define __DBL_HAS_DENORM__ 1
#define __DBL_HAS_INFINITY__ 1
#define __DBL_HAS_QUIET_NAN__ 1
#define __DBL_MANT_DIG__ 53
#define __DBL_MAX_10_EXP__ 308
#define __DBL_MAX_EXP__ 1024
#define __DBL_MAX__ ((double)1.7976931348623157e+308L)
#define __DBL_MIN_10_EXP__ (-307)
#define __DBL_MIN_EXP__ (-1021)
#define __DBL_MIN__ ((double)2.2250738585072014e-308L)
#define __DEC128_EPSILON__ 1E-33DL
#define __DEC128_MANT_DIG__ 34
#define __DEC128_MAX_EXP__ 6145
#define __DEC128_MAX__ 9.9E6144DL
#define __DEC128_MIN_EXP__ (-6142)
#define __DEC128_MIN__ 1E-6143DL
#define __DEC128_SUBNORMAL_MIN__ 
0.1E-6143DL
#define __DEC32_EPSILON__ 1E-6DF
#define __DEC32_MANT_DIG__ 7
#define __DEC32_MAX_EXP__ 97
#define __DEC32_MAX__ 9.99E96DF
#define __DEC32_MIN_EXP__ (-94)
#define __DEC32_MIN__ 1E-95DF
#define __DEC32_SUBNORMAL_MIN__ 

Re: [gmp-bugs] Build feedback for gmp-6.1.0

2016-02-25 Thread Marc Glisse

On Thu, 25 Feb 2016, Nelson H. F. Beebe wrote:


When gmp-6.1.0 is built with

   export PATH=/bin:/usr/bin
   ./configure && make all check

I get a compile-time failure in assembly code:

   /usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. 
-DOPERATION_lshift \
  -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack 
tmp-lshift.s -fPIC \
  -DPIC -o .libs/lshift.o


Do you have CFLAGS set or something? I find your list of flags
surprisingly short.
...


CFLAGS likely doesn't apply there: it is the assembly-language file
tmp-lshift.s that is being compiled.


But it still does apply, in GMP.


 The Makefile has these settings:


I was asking if CFLAGS is set in your environment, before trying to build 
GMP.



AS  = as
ASMFLAGS=  -Wa,--noexecstack
CFLAGS  =  -I${prefix}/include


--
Marc Glisse
___
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs


Re: [gmp-bugs] Build feedback for gmp-6.1.0

2016-02-25 Thread Nelson H. F. Beebe
Marc Glisse  responds on Thu, 25 Feb 2016
16:26:04 +0100 (CET) to my gmp-6.1.0 problem report for an ArchLinux
system (up-to-date with current patches) on an ARM processor:

>> ...
>> > When gmp-6.1.0 is built with
>> >
>> >export PATH=/bin:/usr/bin
>> >./configure && make all check
>> >
>> > I get a compile-time failure in assembly code:
>> >
>> >/usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. 
>> > -DOPERATION_lshift \
>> >   -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack 
>> > tmp-lshift.s -fPIC \
>> >   -DPIC -o .libs/lshift.o
>> 
>> Do you have CFLAGS set or something? I find your list of flags 
>> surprisingly short.
>> ...

CFLAGS likely doesn't apply there: it is the assembly-language file
tmp-lshift.s that is being compiled.  The Makefile has these settings:

AS  = as
ASMFLAGS=  -Wa,--noexecstack
CFLAGS  =  -I${prefix}/include

At the end of its run, configure reports

configure: summary of build options:

  Version:   GNU MP 6.1.0
  Host type: armcortexa9neon-unknown-linux-gnueabihf
  ABI:   standard
  Install prefix:/usr/uumath
  Compiler:  gcc
  Static libraries:  yes
  Shared libraries:  yes

I also have this kernel view of the CPU:

% cat /proc/cpuinfo 
processor   : 0
model name  : ARMv7 Processor rev 10 (v7l)
BogoMIPS: 7.54
Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls 
vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part: 0xc09
CPU revision: 10

If I add the -v option to the compiler line above, it produces:

% /usr/bin/gcc -v -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. 
-DOPERATION_lshift \
?-I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack 
tmp-lshift.s -fPIC \
?-DPIC -o .libs/lshift.o
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
Target: armv7l-unknown-linux-gnueabihf
Configured with: /build/gcc/src/gcc-5-20160209/configure --prefix=/usr 
--libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man 
--infodir=/usr/share/info 
--with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues 
--enable-languages=c,c++,fortran,go,lto,objc,obj-c++ --enable-shared 
--enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit 
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch 
--disable-libssp --enable-gnu-unique-object --enable-linker-build-id 
--enable-lto --enable-plugin --enable-install-libiberty 
--with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib 
--disable-werror --enable-checking=release 
--host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf 
--with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16
Thread model: posix
gcc version 5.3.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-c' '-D' 'HAVE_CONFIG_H' '-I' '.' '-I' '..' 
'-D' '__GMP_WITHIN_GMP' '-I' '..' '-D' 'OPERATION_lshift' '-I' 
'/usr/uumath/include' '-I' '/usr/uumath/include' '-fPIC' '-D' 'PIC' '-o' 
'.libs/lshift.o' '-march=armv7-a' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' 
'-mtls-dialect=gnu'
 as -v -I . -I .. -I .. -I /usr/uumath/include -I /usr/uumath/include 
-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 --noexecstack -o 
.libs/lshift.o tmp-lshift.s
GNU assembler version 2.26.0 (armv7l-unknown-linux-gnueabihf) using BFD 
version (GNU Binutils) 2.26.0.20160219
tmp-lshift.s: Assembler messages:
tmp-lshift.s:106: Error: selected processor does not support `vdup.32 
d6,r3' in ARM mode
...

Torbjörn Granlund also responds on Thu, 25 Feb 2016 16:34:15 +0100:

>> ...
>> The /proc/cpuinfo suggest Cortex C9.  It has Neon, and we do attempt to
>> put the compiler/assembler into a mode where Neon insn are accepted.  Yet...
>>   
>>   >tmp-lshift.s:108: Error: selected processor does not support `vdup.32 
>> d7,r3' in ARM mode
>>   >tmp-lshift.s:114: Error: selected processor does not support 
>> `vshl.u64 d18,d19,d7' in ARM mode
>>   >tmp-lshift.s:120: Error: selected processor does not support 
>> `vshl.u64 d4,d19,d6' in ARM mode
>>   ...
>> 
>> indicates that Neon insn are not accepted.
>> ...

Our equipment inventory description of the system is

Wandboard Quad, Freescale i.MX6 Quad, Cortex-A9 Quad core, 2GB DDR3, 
32GB MicroSD

Here is a Web description:

http://archlinuxarm.org/platforms/armv7/freescale/wandboard

That site reports:

>> ...
>> The Wandboard is available in three different configurations:
>> 
>> Wandboard Solo
>> Single core i.MX6 Processor
>> 512MB RAM
>> Wandboard Dual
>> Dual core i.MX6 Processor
>> 1GB RAM
>> 802.11n wireless and bluetoot

Re: [gmp-bugs] Build feedback for gmp-6.1.0

2016-02-25 Thread Torbjörn Granlund
Marc Glisse  writes:

  >/usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. 
-DOPERATION_lshift \
  > -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack 
tmp-lshift.s -fPIC \
  > -DPIC -o .libs/lshift.o
  
  Do you have CFLAGS set or something? I find your list of flags
  surprisingly short.
  
Indeed.

  >tmp-lshift.s: Assembler messages:
  >tmp-lshift.s:106: Error: selected processor does not support `vdup.32 
d6,r3' in ARM mode
  
  What selected processor is that? Maybe adding -v to a gcc invocation
  would give information.

The /proc/cpuinfo suggest Cortex C9.  It has Neon, and we do attempt to
put the compiler/assembler into a mode where Neon insn are accepted.  Yet...
  
  >tmp-lshift.s:108: Error: selected processor does not support `vdup.32 
d7,r3' in ARM mode
  >tmp-lshift.s:114: Error: selected processor does not support `vshl.u64 
d18,d19,d7' in ARM mode
  >tmp-lshift.s:120: Error: selected processor does not support `vshl.u64 
d4,d19,d6' in ARM mode
  ...

indicates that Neon insn are not accepted.


-- 
Torbjörn
Please encrypt, key id 0xC8601622
___
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs


Re: [gmp-bugs] Build feedback for gmp-6.1.0

2016-02-25 Thread Marc Glisse

On Wed, 24 Feb 2016, Nelson H. F. Beebe wrote:


My test lab now features about 75 flavors of Unix on multiple CPU
types.  Today, I got successful builds and validations on 69 of them,
and I'm now examining the failures.

The first failing machine is our ArchLinux 4.2.3-1-ARCH system, for
which "cat /proc/cpuinfo" reports

   processor   : 0
   model name  : ARMv7 Processor rev 10 (v7l)
   BogoMIPS: 7.54
   Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
   CPU implementer : 0x41
   CPU architecture: 7
   CPU variant : 0x2
   CPU part: 0xc09
   CPU revision: 10
   ...

When gmp-6.1.0 is built with

   export PATH=/bin:/usr/bin
   ./configure && make all check

I get a compile-time failure in assembly code:

   /usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. 
-DOPERATION_lshift \
-I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack 
tmp-lshift.s -fPIC \
-DPIC -o .libs/lshift.o


Do you have CFLAGS set or something? I find your list of flags 
surprisingly short.



   tmp-lshift.s: Assembler messages:
   tmp-lshift.s:106: Error: selected processor does not support `vdup.32 d6,r3' 
in ARM mode


What selected processor is that? Maybe adding -v to a gcc invocation would 
give information.



   tmp-lshift.s:108: Error: selected processor does not support `vdup.32 d7,r3' 
in ARM mode
   tmp-lshift.s:114: Error: selected processor does not support `vshl.u64 
d18,d19,d7' in ARM mode
   tmp-lshift.s:120: Error: selected processor does not support `vshl.u64 
d4,d19,d6' in ARM mode
   tmp-lshift.s:134: Error: selected processor does not support `vshl.u64 
d5,d19,d6' in ARM mode
   tmp-lshift.s:136: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
   tmp-lshift.s:137: Error: selected processor does not support `vshl.u64 
d4,d17,d6' in ARM mode
   tmp-lshift.s:142: Error: selected processor does not support `vshl.u64 
d4,d19,d6' in ARM mode
   tmp-lshift.s:144: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
   tmp-lshift.s:145: Error: selected processor does not support `vshl.u64 
d5,d16,d6' in ARM mode
   tmp-lshift.s:150: Error: selected processor does not support `vorr d2,d4,d1' 
in ARM mode
   tmp-lshift.s:151: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
   tmp-lshift.s:152: Error: selected processor does not support `vshl.u64 
d4,d17,d6' in ARM mode
   tmp-lshift.s:155: Error: selected processor does not support `vorr d3,d5,d0' 
in ARM mode
   tmp-lshift.s:156: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
   tmp-lshift.s:157: Error: selected processor does not support `vshl.u64 
d5,d16,d6' in ARM mode
   tmp-lshift.s:165: Error: selected processor does not support `vorr d2,d4,d1' 
in ARM mode
   tmp-lshift.s:169: Error: selected processor does not support `vorr d2,d4,d1' 
in ARM mode
   tmp-lshift.s:170: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
   tmp-lshift.s:171: Error: selected processor does not support `vshl.u64 
d16,d17,d6' in ARM mode
   tmp-lshift.s:173: Error: selected processor does not support `vorr d2,d5,d0' 
in ARM mode
   tmp-lshift.s:181: Error: selected processor does not support `vshl.u64 
d5,d19,d6' in ARM mode
   tmp-lshift.s:183: Error: selected processor does not support `veor 
d16,d16,d16' in ARM mode
   tmp-lshift.s:186: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
   tmp-lshift.s:187: Error: selected processor does not support `vshl.u64 
d4,d17,d6' in ARM mode
   tmp-lshift.s:188: Error: selected processor does not support `vorr d3,d5,d0' 
in ARM mode
   tmp-lshift.s:189: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
   tmp-lshift.s:190: Error: selected processor does not support `vshl.u64 
d5,d16,d6' in ARM mode
   tmp-lshift.s:192: Error: selected processor does not support `vorr d2,d4,d1' 
in ARM mode
   tmp-lshift.s:200: Error: selected processor does not support `vshl.u64 
d4,d19,d6' in ARM mode
   tmp-lshift.s:201: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
   tmp-lshift.s:202: Error: selected processor does not support `vshl.u64 
d16,d16,d6' in ARM mode
   tmp-lshift.s:203: Error: selected processor does not support `vorr d2,d4,d1' 
in ARM mode
   Makefile:768: recipe for target 'lshift.lo' failed

If instead I add the --disable-assembly option, compilation succeeds,
but there are then six test failures:

   FAIL: t-bswap
   FAIL: t-constants
   FAIL: t-count_zeros
   FAIL: t-modlinv
   FAIL: t-popc
   FAIL: t-sub

The same thing happens if I instead build with CC pointing to /usr/bin/clang,
for which we have

   % /usr/bin/clang --version
   clang version 3.7.1 (tags/RELEASE_371/final)
   Target: armv7l-unknown-linux-gnueabihf
   Thread model: posix

Examination of the tests/*.log files show that they all fail from the same 
err

[gmp-bugs] Build feedback for gmp-6.1.0

2016-02-24 Thread Nelson H. F. Beebe
My test lab now features about 75 flavors of Unix on multiple CPU
types.  Today, I got successful builds and validations on 69 of them,
and I'm now examining the failures.

The first failing machine is our ArchLinux 4.2.3-1-ARCH system, for
which "cat /proc/cpuinfo" reports

processor   : 0
model name  : ARMv7 Processor rev 10 (v7l)
BogoMIPS: 7.54
Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part: 0xc09
CPU revision: 10
...

When gmp-6.1.0 is built with

export PATH=/bin:/usr/bin
./configure && make all check

I get a compile-time failure in assembly code:

/usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. 
-DOPERATION_lshift \
-I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack 
tmp-lshift.s -fPIC \
-DPIC -o .libs/lshift.o

tmp-lshift.s: Assembler messages:
tmp-lshift.s:106: Error: selected processor does not support `vdup.32 
d6,r3' in ARM mode
tmp-lshift.s:108: Error: selected processor does not support `vdup.32 
d7,r3' in ARM mode
tmp-lshift.s:114: Error: selected processor does not support `vshl.u64 
d18,d19,d7' in ARM mode
tmp-lshift.s:120: Error: selected processor does not support `vshl.u64 
d4,d19,d6' in ARM mode
tmp-lshift.s:134: Error: selected processor does not support `vshl.u64 
d5,d19,d6' in ARM mode
tmp-lshift.s:136: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
tmp-lshift.s:137: Error: selected processor does not support `vshl.u64 
d4,d17,d6' in ARM mode
tmp-lshift.s:142: Error: selected processor does not support `vshl.u64 
d4,d19,d6' in ARM mode
tmp-lshift.s:144: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
tmp-lshift.s:145: Error: selected processor does not support `vshl.u64 
d5,d16,d6' in ARM mode
tmp-lshift.s:150: Error: selected processor does not support `vorr 
d2,d4,d1' in ARM mode
tmp-lshift.s:151: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
tmp-lshift.s:152: Error: selected processor does not support `vshl.u64 
d4,d17,d6' in ARM mode
tmp-lshift.s:155: Error: selected processor does not support `vorr 
d3,d5,d0' in ARM mode
tmp-lshift.s:156: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
tmp-lshift.s:157: Error: selected processor does not support `vshl.u64 
d5,d16,d6' in ARM mode
tmp-lshift.s:165: Error: selected processor does not support `vorr 
d2,d4,d1' in ARM mode
tmp-lshift.s:169: Error: selected processor does not support `vorr 
d2,d4,d1' in ARM mode
tmp-lshift.s:170: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
tmp-lshift.s:171: Error: selected processor does not support `vshl.u64 
d16,d17,d6' in ARM mode
tmp-lshift.s:173: Error: selected processor does not support `vorr 
d2,d5,d0' in ARM mode
tmp-lshift.s:181: Error: selected processor does not support `vshl.u64 
d5,d19,d6' in ARM mode
tmp-lshift.s:183: Error: selected processor does not support `veor 
d16,d16,d16' in ARM mode
tmp-lshift.s:186: Error: selected processor does not support `vshl.u64 
d0,d17,d7' in ARM mode
tmp-lshift.s:187: Error: selected processor does not support `vshl.u64 
d4,d17,d6' in ARM mode
tmp-lshift.s:188: Error: selected processor does not support `vorr 
d3,d5,d0' in ARM mode
tmp-lshift.s:189: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
tmp-lshift.s:190: Error: selected processor does not support `vshl.u64 
d5,d16,d6' in ARM mode
tmp-lshift.s:192: Error: selected processor does not support `vorr 
d2,d4,d1' in ARM mode
tmp-lshift.s:200: Error: selected processor does not support `vshl.u64 
d4,d19,d6' in ARM mode
tmp-lshift.s:201: Error: selected processor does not support `vshl.u64 
d1,d16,d7' in ARM mode
tmp-lshift.s:202: Error: selected processor does not support `vshl.u64 
d16,d16,d6' in ARM mode
tmp-lshift.s:203: Error: selected processor does not support `vorr 
d2,d4,d1' in ARM mode
Makefile:768: recipe for target 'lshift.lo' failed

If instead I add the --disable-assembly option, compilation succeeds,
but there are then six test failures:

FAIL: t-bswap
FAIL: t-constants
FAIL: t-count_zeros
FAIL: t-modlinv
FAIL: t-popc
FAIL: t-sub

The same thing happens if I instead build with CC pointing to /usr/bin/clang,
for which we have

% /usr/bin/clang --version
clang version 3.7.1 (tags/RELEASE_371/final)
Target: armv7l-unknown-linux-gnueabihf
Thread model: posix

Examination of the tests/*.log files show that they all fail from the same 
error:

% cat tests/t-bswap.log
/local/build/bare/gmp-6.1.0/tests/.libs/lt-t-bswap: symbol lookup error: \
/local/build/bare/gmp-6.1.0/tests/.libs/lt-t-bswap: undefin