ARM neon pseudo op

Torbjorn Granlund tg at gmplib.org
Tue Apr 2 11:45:42 CEST 2013


nisse at lysator.liu.se (Niels Möller) writes:

  On my pandaboard (with a cortex-a9), I run Debian GNU/Linux, and the
  assembler calls itself
  
    $ as --version
    GNU assembler (GNU Binutils for Debian) 2.22
  
  It refuses to assemble the new shiny mpn/arm/neon/*.asm files. With
  somewhat confusing error messages like
  
    tmp-lshift.s: Assembler messages:
    tmp-lshift.s:111: Error: selected processor does not support ARM mode `vdup.32 d6,r3'
    tmp-lshift.s:113:  gcc -std=gnu99 -c -DHAVE_CONFIG_H -I. -I/home/nisse/hack/gmp/mpn -I.. -D__GMP_WITHIN_GMP -I/home/nisse/hack/gmp -DOPERATION_rshift -marm -O2 -pedantic -fomit-frame-pointer -march=armv7-a -mtune=cortex-a9 -g -Wa,--noexecstack tmp-rshift.s -o rshift.o
    Error: selected processor does not support ARM mode `vdup.32 d7,r3'
    tmp-lshift.s:119: Error: selected processor does not support ARM mode `vshl.u64 d18,d19,d7'
  
  I had to patch the files like
  
  diff -r ea84e60fd6dc mpn/arm/neon/lorrshift.asm
  --- a/mpn/arm/neon/lorrshift.asm        Tue Apr 02 07:40:32 2013 +0200
  +++ b/mpn/arm/neon/lorrshift.asm        Tue Apr 02 11:32:05 2013 +0200
  @@ -21,6 +21,8 @@ dnl  along with the GNU MP Library.  If 
   
   include(`../config.m4')
   
  +       .fpu    neon 
  + 
   C           cycles/limb     cycles/limb     cycles/limb      good 
  
  to convince the assembler. Not sure if it's best to do this at the top
  of each file, or if it should somehow be handled by ASM_START.
  
I need the first few dozen lines from the configure output to have a
guess about what might go wrong.  You might actually compare the output
to that of panda.gmplib.org yourself.

http://gmplib.org/devel/testmachines/build/success/panda.gmplib.org-stat:standard.txt

-- 
Torbjörn


More information about the gmp-devel mailing list