2007-11-06 Paul Brook <paul@codesourcery.com>

gas/
	* config/tc-arm.c (do_mull): Allow overlapping Rm for armv6.

	gas/testsuite/
	* gas/arm/mul-overlap.s: Add umull and smlal.
	* gas/arm/mul-overlap.l: Update expected results.
This commit is contained in:
Paul Brook
2007-11-06 22:17:00 +00:00
parent 8c7504802a
commit 682b27ad2a
5 changed files with 19 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2007-11-06 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (do_mull): Allow overlapping Rm for armv6.
2007-11-06 Nick Clifton <nickc@redhat.com>
* ehopt.c (check_eh_frame): If md_allow_eh_opt is defined, invoke

View File

@ -7202,10 +7202,14 @@ do_mull (void)
inst.instruction |= inst.operands[2].reg;
inst.instruction |= inst.operands[3].reg << 8;
/* rdhi, rdlo and rm must all be different. */
if (inst.operands[0].reg == inst.operands[1].reg
|| inst.operands[0].reg == inst.operands[2].reg
/* rdhi and rdlo must be different. */
if (inst.operands[0].reg == inst.operands[1].reg)
as_tsktsk (_("rdhi and rdlo must be different"));
/* rdhi, rdlo and rm must all be different before armv6. */
if ((inst.operands[0].reg == inst.operands[2].reg
|| inst.operands[1].reg == inst.operands[2].reg)
&& !ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v6))
as_tsktsk (_("rdhi, rdlo and rm must all be different"));
}

View File

@ -1,3 +1,8 @@
2007-11-06 Paul Brook <paul@codesourcery.com>
* gas/arm/mul-overlap.s: Add umull and smlal.
* gas/arm/mul-overlap.l: Update expected results.
2007-11-06 Nick Clifton <nickc@redhat.com>
* gas/elf/elf.exp: Disable ehopt test for mn10300.

View File

@ -1,3 +1,4 @@
[^:]*: Assembler messages:
[^:]*:5: Rd and Rm should be different in mul
[^:]*:6: Rd and Rm should be different in mla
[^:]*:8: rdhi, rdlo and rm must all be different

View File

@ -5,4 +5,6 @@ foo:
mul r0, r0, r0
mla r0, r0, r1, r2
mls r0, r0, r1, r2
umull r0, r1, r0, r1
smlalbb r0, r1, r0, r1
bx lr