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