2007-03-24 Paul Brook <paul@codesourcery.com>

Mark Shinwell  <shinwell@codesourcery.com>

	gas/
	* config/tc-arm.c (operand_parse_code): Add OP_oRRw.
	(parse_operands): Don't expect comma if first operand missing.
	Handle OP_oRRw.
	(do_srs): Encode register number, checking it is r13.  Update comment.
	(insns): Update SRS entries to take a register.

	gas/testsuite/
	* gas/arm/archv6.s: Add new SRS tests.
	* gas/arm/archv6.d: Update expected output.
	* gas/arm/thumb32.s: Add new SRS tests.
	* gas/arm/thumb32.d: Update expected output.
	* gas/arm/srs-t2.d: New.
	* gas/arm/srs-t2.l: New.
	* gas/arm/srs-t2.s: New.
	* gas/arm/srs-arm.d: New.
	* gas/arm/srs-arm.l: New.
	* gas/arm/srs-arm.s: New.

	opcodes/
	* arm-dis.c (arm_opcodes): Print SRS base register.
This commit is contained in:
Paul Brook 2007-03-24 21:29:45 +00:00
parent 1198ca51f0
commit 22121af151
6 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,2 @@
# name: SRS instruction in ARM mode
# error-output: srs-arm.l

View File

@ -0,0 +1,5 @@
[^:]*: Assembler messages:
[^:]*:12: Error: SRS base register must be r13 -- `srsdb r4,#13'
[^:]*:13: Error: SRS base register must be r13 -- `srsda r4,#13'
[^:]*:14: Error: SRS base register must be r13 -- `srsia r4,#13'
[^:]*:15: Error: SRS base register must be r13 -- `srsib r4,#13'

View File

@ -0,0 +1,16 @@
.arch armv6
foo:
srsdb r13, #13
srsdb r13!, #13
srsia r13, #13
srsia r13!, #13
srsda r13, #13
srsda r13!, #13
srsib r13, #13
srsib r13!, #13
srsdb r4, #13
srsda r4, #13
srsia r4, #13
srsib r4, #13

View File

@ -0,0 +1,2 @@
# name: SRS instruction in Thumb-2 mode
# error-output: srs-t2.l

View File

@ -0,0 +1,3 @@
[^:]*: Assembler messages:
[^:]*:8: Error: SRS base register must be r13 -- `srsdb r4,#13'
[^:]*:9: Error: SRS base register must be r13 -- `srsia r4,#13'

View File

@ -0,0 +1,10 @@
.arch armv6t2
foo:
srsdb r13, #13
srsdb r13!, #13
srsia r13, #13
srsia r13!, #13
srsdb r4, #13
srsia r4, #13