This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] .savev6 directive for ARM
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Mark Shinwell <shinwell at codesourcery dot com>
- Cc: binutils at sourceware dot org
- Date: Tue, 20 Jun 2006 17:29:54 +0100
- Subject: Re: [PATCH] .savev6 directive for ARM
- References: <44981F80.7060205@codesourcery.com>
On Tue, 2006-06-20 at 17:17, Mark Shinwell wrote:
> The FLDMX/FSTMX VFP multiple load/store instructions are deprecated as
> of ARMv6 in favour of FLDMD and FSTMD. The unwind opcodes corresponding
> to FSTMD are different from those corresponding to FSTMX.
>
> This patch provides a new gas directive .savev6 that can be used to
> generate unwind information corresponding to the saving of VFP registers
> with FSTMD. It also works with VFPv3 registers saved with VSTM.
> Assembly source using .save will still use the FSTMX-style unwind
> opcodes; thus, backwards compatibility is maintained.
>
> I've also corrected a typo in the example of .save in the manual, see
> below.
>
> Up my sleeve I have a gcc patch to go along with this that causes the
> compiler to emit .savev6 directives and to no longer emit FLDMX and
> FSTMX instructions -- along with the necessary unwinder support and a few
> bugfixes in that area. At the moment that requires this patch, so I'm
> posting here first.
>
> Tested for arm-none-linux-gnueabi.
>
> OK?
>
> Mark
>
> --
>
> gas/ChangeLog:
>
> 2006-06-20 Mark Shinwell <shinwell@codesourcery.com>
>
> * config/tc-arm.c (s_arm_unwind_save_vfp_armv6): New. Parse
> a directive saving VFP registers for ARMv6 or later.
> (s_arm_unwind_save): Add parameter arch_v6 and call
> s_arm_unwind_save_vfp or s_arm_unwind_save_vfp_armv6 as
> appropriate.
> (md_pseudo_table): Add entry for new "savev6" directive.
> * doc/c-arm.texi: Correct error in example for "save"
> directive (fstmdf -> fstmdx). Also document "savev6" directive.
>
I can't say I like the idea of using 'v6' in a directive name. How
about '.vsave' (vector-save)?
Other than that, this is OK.
R.