This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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