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> 2007-11-06 Nick Clifton <nickc@redhat.com>
* ehopt.c (check_eh_frame): If md_allow_eh_opt is defined, invoke * 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[2].reg;
inst.instruction |= inst.operands[3].reg << 8; inst.instruction |= inst.operands[3].reg << 8;
/* rdhi, rdlo and rm must all be different. */ /* rdhi and rdlo must be different. */
if (inst.operands[0].reg == inst.operands[1].reg if (inst.operands[0].reg == inst.operands[1].reg)
|| inst.operands[0].reg == inst.operands[2].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) || 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")); 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> 2007-11-06 Nick Clifton <nickc@redhat.com>
* gas/elf/elf.exp: Disable ehopt test for mn10300. * gas/elf/elf.exp: Disable ehopt test for mn10300.

View File

@ -1,3 +1,4 @@
[^:]*: Assembler messages: [^:]*: Assembler messages:
[^:]*:5: Rd and Rm should be different in mul [^:]*:5: Rd and Rm should be different in mul
[^:]*:6: Rd and Rm should be different in mla [^:]*: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 mul r0, r0, r0
mla r0, r0, r1, r2 mla r0, r0, r1, r2
mls r0, r0, r1, r2 mls r0, r0, r1, r2
umull r0, r1, r0, r1
smlalbb r0, r1, r0, r1
bx lr bx lr