but warn about it.
* testsuite/gas/sh/pcrel.s: Also test @(symbol,pc).
* testsuite/gas/sh/pcrel.d: Update.
* testsuite/gas/sh/pcrel.l: New file.
+Thu Jun 6 17:42:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * config/tc-sh.c (parse_at): @(symbol,pc) is A_DISP_PC again,
+ but warn about it.
+ * testsuite/gas/sh/pcrel.s: Also test @(symbol,pc).
+ * testsuite/gas/sh/pcrel.d: Update.
+ * testsuite/gas/sh/pcrel.l: New file.
+
2002-06-06 Daniel Jacobowitz <drow@mvista.com>
* tc-mips.c (mips_after_parse_args): Always set mips_opts.ase_mips3d
}
else if (mode == A_PC)
{
- op->type = A_DISP_PC_ABS;
- /* Such operands don't get corrected for PC==.+4, so
- make the correction here. */
- op->immediate.X_add_number -= 4;
+ if (op->immediate.X_op == O_symbol)
+ {
+ op->type = A_DISP_PC;
+ as_warn (_("Deprecated syntax."));
+ }
+ else
+ {
+ op->type = A_DISP_PC_ABS;
+ /* Such operands don't get corrected for PC==.+4, so
+ make the correction here. */
+ op->immediate.X_add_number -= 4;
+ }
}
else
{
#as: -big
#objdump: -d
#name: PC-relative loads
+#stderr: pcrel.l
.*: file format .*sh.*
Disassembly of section .text:
00000000 <code>:
- 0: d1 03 mov\.l 10 <litpool>,r1 ! 0xfffffff0
- 2: d1 03 mov\.l 10 <litpool>,r1 ! 0xfffffff0
- 4: c7 02 mova 10 <litpool>,r0
- 6: 61 02 mov\.l @r0,r1
- 8: d1 01 mov\.l 10 <litpool>,r1 ! 0xfffffff0
- a: 01 03 bsrf r1
- c: 00 09 nop
- e: 00 09 nop
+ 0: d0 04 mov\.l 14 <litpool>,r0 ! 0xffffffec
+ 2: d1 05 mov\.l 18 <litpool\+0x4>,r1
+ 4: d1 03 mov\.l 14 <litpool>,r1 ! 0xffffffec
+ 6: d1 03 mov\.l 14 <litpool>,r1 ! 0xffffffec
+ 8: c7 02 mova 14 <litpool>,r0
+ a: 61 02 mov\.l @r0,r1
+ c: d1 01 mov\.l 14 <litpool>,r1 ! 0xffffffec
+ e: 01 03 bsrf r1
+ 10: 00 09 nop
+ 12: 00 09 nop
-00000010 <litpool>:
- 10: ff ff \.word 0xffff
- 12: ff f0 \.word 0xfff0
+00000014 <litpool>:
+ 14: ff ff \.word 0xffff
+ 16: ff ec \.word 0xffec
--- /dev/null
+[^:]*pcrel.s: Assembler messages:
+[^:]*pcrel(-coff)?\.s:5: Warning: Deprecated syntax.
+[^:]*pcrel(-coff)?\.s:6: Warning: Deprecated syntax.
.p2align 2
code:
+ mov.l @(litpool,pc), r0
+ mov.l @(litpool+4,pc), r1
mov.l litpool, r1
mov.l @(14,pc), r1
mova @(litpool-.,pc), r0