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: gcc for any microcontroller?


Hi!

tm_gccmail at mail dot kloo dot net wrote:
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



Yes please so that I can fix it (this pb does not happen very often and I don't see it in the gcc testsuite).

Stephane

--
        Home                           Office
E-mail: stcarrez at nerim dot fr              Stephane dot Carrez at solsoft dot fr
WWW:    http://stcarrez.nerim.net      http://www.solsoft.com
        Free the Software!             Simplifying Security Policy Management



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