[arm-gnu] Assembler error with VMSR NEON instruction
Lloyd Gomez
Lloyd.Gomez at amlogic.com
Fri Dec 14 09:17:58 UTC 2012
Hi Ricardo,
Thank you so much for the quick response. I downloaded 2012.09-63 and was able to successfully compile and run my test.
Take care,
Lloyd
________________________________________
From: Ricardo Anguiano [ricardo_anguiano at mentor.com]
Sent: Thursday, December 13, 2012 3:57 PM
To: Lloyd Gomez
Cc: arm-gnu at codesourcery.com
Subject: Re: [arm-gnu] Assembler error with VMSR NEON instruction
On 12/13/2012 3:33 PM, Lloyd Gomez wrote:
> I am trying to compile some code for our Cortex-A9 with NEON device
> and am getting the following error when running the assembler:
>
> arm-none-eabi-as -gdwarf2 -mcpu=cortex-a9 -mfpu=neon -mthumb-interwork -I/home/lloyd.gomez/work/project_m8/ucode --defsym Install_Process_Irq=1 --defsym Install_Process_Fiq=1 host_boot_ddr_generic.s -o host_boot_ddr_generic.o
>
> host_boot_ddr_generic.s: Assembler messages:
>
> host_boot_ddr_generic.s:435: Error: operand 0 must be FPSCR -- `vmsr FPEXC,r0'
>
> VMSR is a valid instruction so I don’t know why the assembler is
> complaining. This is too bad because I need this instruction to
> enable NEON in our chip. Has anyone else run into this problem?
This looks like a bug patched earlier this year:
http://lists.gnu.org/archive/html/bug-binutils/2012-03/msg00097.html
> Here’s my version of arm-none-eabi-as:
>
> GNU assembler (Sourcery G++ Lite 2011.03-42) 2.20.51.20100809
The most recent release is 2012.09-63. Download it from here:
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
I tried 2012.09-63 on the code snippet from the bug report and as appears to
work without complaint:
ricardo at sourcerydemo:~/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI$ cat ~/foo.s
mov r0, #(0x1 << 30)
vmsr fpexc, r0
ricardo at sourcerydemo:~/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI$ bin/arm-none-eabi-as -gdwarf2 -mcpu=cortex-a9 -mfpu=neon -mthumb-interwork ~/foo.s -o ~/foo.o
ricardo at sourcerydemo:~/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI$ bin/arm-none-eabi-objdump -d ~/foo.o
/home/ricardo/foo.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <.text>:
0: e3a00101 mov r0, #1073741824 ; 0x40000000
4: eee80a10 vmsr fpexc, r0
Thanks,
--
Ricardo Anguiano
Mentor Graphics
+1-510-354-6774
More information about the arm-gnu
mailing list