81f5558e3d
@(disp:32,ERx) to mov @(disp:16,ERx). (R_H8_DISP32A16): New reloc. Comments added and corrected. * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * ld.texinfo (H8/300): Add description of relaxation of mov @(disp:32,ERx) to mov @(disp:16,ERx). * ld-h8300/h8300.exp: Add new relax-7 test on ELF. * ld-h8300/relax-2.s: Add other direction and .w/.l variants of mov insns. * ld-h8300/relax-2.d: Update expected disassembly. * ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov @(disp:16,ERx). * ld-h8300/relax-7b.s: New: Likewise. * ld-h8300/relax-7.d: New: expected disassembly. * config/tc-h8300.c (do_a_fix_imm): Add relaxation of mov @(disp:32,ERx) to mov @(disp:16,ERx) insns by new reloc R_H8_DISP32A16. * config/tc-h8300.h: Remove duplicated defines.
21 lines
487 B
Makefile
21 lines
487 B
Makefile
# name: H8300 Relaxation Test 2
|
|
# ld: --relax -m h8300helf
|
|
# objdump: -d --no-show-raw-insn
|
|
|
|
.*: file format .*-h8300
|
|
|
|
Disassembly of section .text:
|
|
|
|
00000100 <_start>:
|
|
100: mov.b @0x64:8,r0l
|
|
102: mov.b r0l,@0x64:8
|
|
104: mov.b @0x4320:16,r0l
|
|
108: mov.b r0l,@0x4320:16
|
|
10c: mov.w @0xff64:16,r0
|
|
110: mov.w r0,@0xff64:16
|
|
114: mov.w @0x4320:16,r0
|
|
118: mov.w r0,@0x4320:16
|
|
11c: mov.l @0xff64:16,er0
|
|
122: mov.l er0,@0xff64:16
|
|
128: mov.l @0x4320:16,er0
|
|
12e: mov.l er0,@0x4320:16
|