This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -mrelax does not work fully, 8 bit addressing issues


Hi Ingmar,

> "-relax" does not work fully in GNU ld version 2.12.1
> It only reduces to 16bit instead of reducing to 8bit addresses

Actually, this is a gcc issue.

>   DMAC_DTCR0A |= 0x20;
>  206:	6a 0a ff 27       mov.b	@0xff27:16,r2l      ; here a bitset instruction
>  20a:	ca 20             or.b	#0x20,r2l           ; can be used instead:
>  20c:	6a 8a ff 27       mov.b	r2l,@0xff27:16      ; bset.b #5,@0xff:8

Use the following patch.  Another thing you can do is to use asm
statement.

http://h8300-hms.sourceforge.net/lab/h8300-volatileok.patch

Kazu Hirata


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]