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
295 B
ArmAsm
21 lines
295 B
ArmAsm
.h8300h
|
|
.globl _start
|
|
_start:
|
|
mov.b @foo:16,r0l
|
|
mov.b r0l,@foo:16
|
|
mov.b @bar:32,r0l
|
|
mov.b r0l,@bar:32
|
|
|
|
mov.w @foo:16,r0
|
|
mov.w r0,@foo:16
|
|
mov.w @bar:32,r0
|
|
mov.w r0,@bar:32
|
|
|
|
mov.l @foo:16,er0
|
|
mov.l er0,@foo:16
|
|
mov.l @bar:32,er0
|
|
mov.l er0,@bar:32
|
|
|
|
.equ foo,0xffff64
|
|
.equ bar,0x4320
|