2011-11-23 Thomas Klein <th.r.klein@web.de>

* config/tc-arm.c (do_t_mov_cmp): Prevent emitting code for MOV
	with two low register at arch v4t or v5t when assember using
	unified syntax.
This commit is contained in:
Richard Earnshaw 2011-11-23 10:50:53 +00:00
parent 67be10ef8f
commit 837b3435bc
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2011-11-23 Thomas Klein <th.r.klein@web.de>
* config/tc-arm.c (do_t_mov_cmp): Prevent emitting code for MOV
with two low register at arch v4t or v5t when assember using
unified syntax.
2011-11-21 DJ Delorie <dj@redhat.com>
* config/rl78-defs.h (rl78_error): Add "const".

View File

@ -10913,6 +10913,11 @@ do_t_mov_cmp (void)
switch (inst.instruction)
{
case T_MNEM_mov:
/* In v4t or v5t a move of two lowregs produces unpredictable
results. Don't allow this.*/
constraint (low_regs && !ARM_CPU_HAS_FEATURE (selected_cpu,
arm_ext_v6),"MOV Rd, Rs with two low registers is not "
"permitted on this architecture");
inst.instruction = T_OPCODE_MOV_HR;
inst.instruction |= (Rn & 0x8) << 4;
inst.instruction |= (Rn & 0x7);