This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] ARM: VLDM/VSTM pc, {} is predictable in ARM state


On 07/06/10 17:24, Matthew Gretton-Dann wrote:
All,

Please can someone review and approve the attached patch?

The patch is to fix gas so that it accepts vldm pc, {...}, vstm pc,
{...}, and the divided syntax equivalents, in ARM state.

(These instructions with writeback, or in Thumb-state are
unpredictable).

Thanks,

Matt

Proposed ChangeLogs:

gas/ChangeLog:
2010-06-07  Matthew Gretton-Dann<matthew.gretton-dann@arm.com>
	* config/tc-arm.c (operand_parse_code): Add OP_RRnpctw enum
	value.
	(parse_operands): Add support for OP_RRnpctw.
	(insns): Update floating-point load/store multiples so the
	first register is of type OP_RRnpctw.

gas/testsuite/ChangeLog:
2010-06-07 Matthew Gretton-Dann<matthew.gretton-dann@arm.com>
	* gas/arm/vldm-arm.d: New test.
	* gas/arm/vldm-thumb-bad.d: Likewise.
	* gas/arm/vldm-thumb-bad.l: Likewise.
	* gas/arm/vldm.s: Likewise.
	* gas/arm/vldmw-arm-bad.d: Likewise.
	* gas/arm/vldmw-bad.l: Likewise.
	* gad/arm-vldmw-bad.s: Likewise.
	* gas/arm/vldmw-thumb-bad.d: Likewise.


This is basically OK, but I think your use of .double in the source will cause the dumps to fail if run in big-endian mode. It might be better to just put out .word directives for the literals (their values aren't really what's under test).


R.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]