[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