SDCC generates far better code for the Rabbits 2000 - 4000 than CROSS-C or Dynamic C.
The Rabbits are currently supported in SDCC via two backends: * r2k for the Rabbit 2000 and 3000 * r3ka for the Rabbit 3000A and 4000 When I introduced the r3ka backend, I intended to use the additional instructions, and have more efficient I/O since the Rabbit 3000A fixed some I/O related hardware bugs present in the Rabbit 3000. However, that basically never happend. Today, there is only one difference betweeen the r2k and r3ka backends: r3ka generates different code for built-in memset() using the lsidr instruction. I don't think support for other feature sof the Rabbit 3000A will get implemented anytime soon. Especially since the arbitrary-length multiplication instructions in the Rabbit 3000A require use of the second register set, and support fo the second register set in SDCC has far-reaching implications. Each backend in SDCC omes with some maintenance burden. In the case of r3ka this is very low (since it behaves mostly the smae as r2k), but it still exists. I suggest to drop the r3ka backend in SDCC (possibly after a 3.7.0 release). Current users of the r3ka backend would then use the r2k backend instead. Except for the built-in memset(), they wouldn't see a difference. Philipp ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user