This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc for any microcontroller?
- From: <tm_gccmail at mail dot kloo dot net>
- To: Stephane Carrez <stcarrez at nerim dot fr>
- Cc: Petr Danecek <danecek at ucl dot cas dot cz>, gcc at gcc dot gnu dot org
- Date: Mon, 24 Mar 2003 15:09:04 -0800 (PST)
- Subject: Re: gcc for any microcontroller?
On Mon, 24 Mar 2003 tm_gccmail at mail dot kloo dot net wrote:
> On Mon, 24 Mar 2003, Stephane Carrez wrote:
>
> > Hi!
> >
> > Petr Danecek wrote:
> > > thank you for your answer, Toshi.
> > > if i understand it correctly, HC08 would be difficult to port, though
> > > not impossible. now, is it worth of it? maybe there is a more suitable c
> > > compiler somewhere. i doubt that writing cc from scratch is a good
> > > choice...?
> > > petr
> > >
> >
> > Gcc already supports HC11 and HC12. The generated code is better than
> > commercial compilers (like Cosmic). The few registers (3) that HC11/HC12
> > have made my life difficult in making gcc generate good output. But it is
> > do-able (so I disagree with Toshi as far as HC11/HC12 are concerned).
>
> You're lucky on the HC11. It at least has 16-bit index registers. Many of
> the other processors from that era have index registers with fewer bits
> than their addressing (6502, 65816, 8086, etc).
>
> Toshi
BTW, I was looking at gcc CVS for the 68HC11 and found a problem.
wscrollbar.i: In function `SBarManage':
wscrollbar.i:19909: error: unable to find a register to spill in class
`A_REGS'
wscrollbar.i:19909: error: this is the insn:
(insn:HI 2494 2493 2495 357 0x406d35ac (parallel [
(set (mem/s:SI (plus:HI (reg/v/f:HI 54 [ sb ])
(const_int 2 [0x2])) [4
<variable>.visibility_state+0 S4 A8])
(mem/s:SI (plus:HI (reg/v/f:HI 59 [ event ])
(const_int 18 [0x12])) [0
<variable>.xvisibility.state+0 S4 A8]))
(clobber (scratch:HI))
]) 17 {movsi_internal} (nil)
(expr_list:REG_DEAD (reg/v/f:HI 59 [ event ])
(expr_list:REG_DEAD (reg/v/f:HI 54 [ sb ])
(expr_list:REG_UNUSED (scratch:HI)
(nil)))))
Somethign somewhere generated a memory-to-memory move instruction, it
looks like?
The testcase is wscrollbar.i from stress-1.17 - I can send you the
testcase if youw ant.
Toshi