[PATCH, ARM] Allow Neon syntax for overlapping VFP instructions

Julian Brown julian@codesourcery.com
Wed Apr 26 07:14:00 GMT 2006


Hi,

This patch allows the Neon syntax to be used in vanilla VFP mode for the 
several VFP instructions which overlap new Neon instructions, and which 
now disassemble in the latter form. Failure to allow the same syntax for 
assembly and disassembly will probably cause undue confusion. 
Eventually, the Neon-style syntax will be implemented for all VFP 
instructions, so this is a (small) step in that direction.

The fldmx/fstmx instructions can't be represented in the Neon syntax, so 
I've made them use the old VFP syntax instead. Those variants are 
deprecated in armv6, but I think disassembling them differently is still 
a sensible thing to do, in the interest of fully supporting the older 
architectures. (The previous Neon patches made fldmd/fldmx/fstmd/fstmx 
disassemble as vldm/vldm/vstm/vstm respectively).

Tested with "make check" with cross to arm-none-eabi, with a new test 
case added. OK to apply on the CSL branch? Mainline?

Cheers,

Julian

ChangeLog (gas):

     * config/tc-arm.c (parse_vfp_reg_list): Improve register bounds
     checking.
     (do_neon_mov): Enable several VMOV variants for VFP. Add suitable
     architecture version checks.
     (insns): Allow overlapping instructions to be used in VFP mode.

ChangeLog (gas/testsuite):

     * gas/arm/vfp-neon-overlap.s: New test. Overlapping VFP/Neon
     instructions.
     * gas/arm/vfp-neon-overlap.d: Expected output of above.
     * gas/arm/vfp1xD.d: Test for fldmx/fstmx.
     * gas/arm/vfp1xD_t2.d: Likewise.
     * gas/arm/vfpv3-32drs.d: Likewise.

ChangeLog (opcodes):

     * arm-dis.c (coprocessor_opcodes): Don't interpret fldmx/fstmx as
     vldm/vstm.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: vfp-neon-overlap-4
URL: <https://sourceware.org/pipermail/binutils/attachments/20060426/e505ca57/attachment.ksh>


More information about the Binutils mailing list