deprecated mov register instructions.
* gas/testsuite/gas/arm/thumb2_bad_reg.s: Update mov register tests.
* gas/testsuite/gas/arm/thumb2_bad_reg.l: Likewise.
+2010-07-01 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/tc-arm.c (do_t_mov_cmp): Fix reporting of unpredictable and
+ deprecated mov register instructions.
+
2010-07-01 Alan Modra <amodra@gmail.com>
* config/tc-ppc.c (toc_reloc_types): New variable.
reject_bad_reg (Rn);
reject_bad_reg (Rm);
}
- else if ((Rn == REG_SP || Rn == REG_PC)
- && (Rm == REG_SP || Rm == REG_PC))
- reject_bad_reg (Rm);
+ else if (narrow)
+ {
+ /* This is mov.n. */
+ if ((Rn == REG_SP || Rn == REG_PC)
+ && (Rm == REG_SP || Rm == REG_PC))
+ {
+ as_warn (_("Use of r%u as a source register is "
+ "deprecated when r%u is the destination "
+ "register."), Rm, Rn);
+ }
+ }
+ else
+ {
+ /* This is mov.w. */
+ constraint (Rn == REG_PC, BAD_PC);
+ constraint (Rm == REG_PC, BAD_PC);
+ constraint (Rn == REG_SP && Rm == REG_SP, BAD_SP);
+ }
}
else
reject_bad_reg (Rn);
+2010-07-01 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gas/arm/thumb2_bad_reg.s: Update mov register tests.
+ * gas/arm/thumb2_bad_reg.l: Likewise.
+
+2010-06-29 Alan Modra <amodra@gmail.com>
+
+ * gas/maxq10/maxq10.exp: Delete file.
+ * gas/maxq10/bits.d, * gas/maxq10/bits.s, * gas/maxq10/call.d,
+ * gas/maxq10/call.s, * gas/maxq10/data.s, * gas/maxq10/data2.d,
+ * gas/maxq10/data2.s, * gas/maxq10/data3.d, * gas/maxq10/data3.s,
+ * gas/maxq10/err.s, * gas/maxq10/jump.d, * gas/maxq10/jump.s,
+ * gas/maxq10/logical.d, * gas/maxq10/logical.s, * gas/maxq10/math.d,
+ * gas/maxq10/math.s, * gas/maxq10/pmtest.d, * gas/maxq10/pmtest.s,
+ * gas/maxq10/range.d, * gas/maxq10/range.s: Likewise.
+ * gas/maxq20/maxq20.exp: Delete file.
+ * gas/maxq20/bits.d, * gas/maxq20/bits.s, * gas/maxq20/call.d,
+ * gas/maxq20/call.s, * gas/maxq20/data1.d, * gas/maxq20/data1.s,
+ * gas/maxq20/data2.d, * gas/maxq20/data2.s, * gas/maxq20/data3.d,
+ * gas/maxq20/data3.s, * gas/maxq20/jump.d, * gas/maxq20/jump.s,
+ * gas/maxq20/jzimm.d, * gas/maxq20/jzimm.s, * gas/maxq20/logical.d,
+ * gas/maxq20/logical.s, * gas/maxq20/math.d, * gas/maxq20/math.s,
+ * gas/maxq20/pfx2.s, * gas/maxq20/pmtest.d, * gas/maxq20/pmtest.s,
+ * gas/maxq20/pxf0.s, * gas/maxq20/range.d,
+ * gas/maxq20/range.s: Likewise.
+ * gas/all/gas.exp: Remove references to maxq.
+
2010-06-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* gas/arm/neon-ldst-align-bad.l: Update for Neon alignment syntax fix.
[^:]*:[0-9]+: Error: r15 not allowed here -- `mls r0,r0,r0,r15'
[^:]*:[0-9]+: Error: r13 not allowed here -- `mov.w r13,#1'
[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r0,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,r0'
[^:]*:[0-9]+: Error: r13 not allowed here -- `movs.w r0,r13'
[^:]*:[0-9]+: Error: r15 not allowed here -- `movs.w r0,r15'
[^:]*:[0-9]+: Error: r13 not allowed here -- `movs.w r13,r0'
[^:]*:[0-9]+: Error: r15 not allowed here -- `movs.w r15,r0'
[^:]*:[0-9]+: Error: r13 not allowed here -- `mov.w r13,r13'
-[^:]*:[0-9]+: Error: r13 not allowed here -- `mov.w r15,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,r13'
[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r13,r15'
[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,r15'
+[^:]*:[0-9]+: Warning: Use of r13 as a source register is deprecated when r13 is the destination register.
+[^:]*:[0-9]+: Warning: Use of r13 as a source register is deprecated when r15 is the destination register.
+[^:]*:[0-9]+: Warning: Use of r15 as a source register is deprecated when r13 is the destination register.
+[^:]*:[0-9]+: Warning: Use of r15 as a source register is deprecated when r15 is the destination register.
+[^:]*:[0-9]+: Error: r13 not allowed here -- `movs r13,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `movs r15,r13'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `movs r13,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `movs r15,r15'
[^:]*:[0-9]+: Error: r13 not allowed here -- `movt r13,#1'
[^:]*:[0-9]+: Error: r15 not allowed here -- `movt r15,#1'
[^:]*:[0-9]+: Error: r13 not allowed here -- `mrc p0,#1,r13,cr0,cr0'
mov r13, r0 @ OK
mov r15, r0 @ OK
mov.w r0, r13 @ OK
- mov.w r0, r15 @ OK
- mov.w r15, r0 @ OK
+ mov.w r0, r15
+ mov.w r15, r0
mov.w r13, r0 @ OK
movs.w r0, r13
movs.w r0, r15
mov.w r15, r13
mov.w r13, r15
mov.w r15, r15
+ mov r13, r13 @ Deprecated
+ mov r15, r13 @ Deprecated
+ mov r13, r15 @ Deprecated
+ mov r15, r15 @ Deprecated
+ movs r13, r13
+ movs r15, r13
+ movs r13, r15
+ movs r15, r15
@ MOVT
movt r13, #1
movt r15, #1