[PATCH, RFC] arm: VMRS and VMSR should accept FPINST{,2}

Jan Beulich JBeulich@suse.com
Tue Apr 9 07:07:00 GMT 2013


>>> On 08.04.13 at 18:26, Richard Earnshaw <rearnsha@arm.com> wrote:
> On 08/04/13 16:02, Jan Beulich wrote:
>> The Common VFP Subarchitecture specification has two more FP control 
> registers
>> which are to be accessed through VMRS and VMSR. The assembler, however, so 
> far
>> didn't provide a way to encode the respective instructions (other than 
> through
>> legacy mnemonics or the hard to read MRC/MCR ones).
>>
>> With Common VFP and VFP apparently not being the same thing, and there not
>> being any way currently to specify the Common VFP Subarchitecture version, I
>> tied acceptance of these registers to VFPv3 being enabled. The patch is RFC
>> because of my need of confirmation whether that's acceptable, or whether
>> there's a mechanism is failed to spot.
>>
>> gas/
>> 2013-04-08  Jan Beulich <jbeulich@suse.com>
>>
>> 	* gas/config/tc-arm.c (do_vmrs): Also accept FPINST and FPINST2.
>> 	(do_vmsr): Likewise.
>>
> 
> The floating-point support code is littered with possible special cases 
> like this.  The FPINST register has certainly existed since VFPv1 (on 
> the ARM10) and FPINST2 since at least ARM11 (VFPv2), but it might even 
> go back further -- the registers were implementation defined, not part 
> of the architecture.
> 
> The legacy instructions (FMRX and FMXR) both accept these registers 
> unconditionally, leaving it to the user to get things right.
> 
> My feeling is that we should do the same for VMSR and VMRS.  That is, if 
> the register name parses ok, we should just accept the instruction, even 
> if it's meaningless to execute.  Writing support code is a specialist 
> task and we should trust users to know what they are doing in this area. 
>   Caveat emptor and all that.

So you say I should simplify the patch by just adding the new
cases unconditionally?

> As with your other patches, we really should have some test cases for these.

Will do.

Jan



More information about the Binutils mailing list