Browse Source

* 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.
binutils-2_13-branch
Joern Rennecke 25 years ago
parent
commit
9691d64f9a
  1. 8
      gas/ChangeLog
  2. 16
      gas/config/tc-sh.c
  3. 25
      gas/testsuite/gas/sh/pcrel.d
  4. 3
      gas/testsuite/gas/sh/pcrel.l
  5. 2
      gas/testsuite/gas/sh/pcrel.s

8
gas/ChangeLog

@ -1,3 +1,11 @@
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

16
gas/config/tc-sh.c

@ -1383,10 +1383,18 @@ parse_at (src, op)
}
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
{

25
gas/testsuite/gas/sh/pcrel.d

@ -1,21 +1,24 @@
#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

3
gas/testsuite/gas/sh/pcrel.l

@ -0,0 +1,3 @@
[^:]*pcrel.s: Assembler messages:
[^:]*pcrel(-coff)?\.s:5: Warning: Deprecated syntax.
[^:]*pcrel(-coff)?\.s:6: Warning: Deprecated syntax.

2
gas/testsuite/gas/sh/pcrel.s

@ -2,6 +2,8 @@
.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

Loading…
Cancel
Save