ARM neon pseudo op

Niels Möller nisse at lysator.liu.se
Tue Apr 2 11:39:19 CEST 2013


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.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.



More information about the gmp-devel mailing list