Another bounty gets under way for 2019
Posted by Steve Revill Sun, 13 Jan 2019 19:29:00 GMT
Following the unprecedented pledges made by the community during November and December, we’re able to announce that the bounty to teach the C compiler some new tricks is now under way.
What can we expect?
Even if you’re not into programming, you’re running RISC OS, right? And the ROM you’re running contains modules and applications that are also written in C, and able to be tuned for the core on which they run.
However, at present, the compiler will only output the ARMv5 instruction set (plus a couple of ARMv6 instructions which we’ve sneaked in while this bounty was accumulating!) so is missing out on the explosion of extra instructions that Arm added for ARMv6 and later. While not all of these map naturally to something you can infer from C, the bounty also includes work to extend the inline assembler. Together, we should end up with a tool which produces more optimal output without having to change the input – perfect.
CC-BY priceman 141
This is part of a general push to move away from creating new components in hand crafted assembler, towards using higher level language that makes maintenance easier. The compiler can do the hand crafting for you!
Grinding finer and finer code
The compiler RISC OS uses is an evolution of the original tools developed by Codemist in 1986 when the ARM core was still being baked. It had a major remodelling in the early 2000’s to add support for the C99 standard which was quite a departure from the earlier dialect of C, as well as updating the code generation step to support the contemporary XScale processor (ARMv5), taking its familiar closely standards conforming approach.
Even before this work has concluded we’re floating ideas for more pointed enhancements, setting our standards higher, all of which makes sense in any language, not just C.
Feeling brave?
We’d like to ask for a small group from the community to help testing the updated tools. Perhaps you have a particularly demanding application up your sleeve, can proof read documentation with your eyes closed, or attract bugs like a nightlight – in which case this could be right up your street. To express an interest in testing please:
- Think which one or two skill areas you can best help with
- Dig out your existing developer number (starting DEV07…)
- Email these both to ctools@riscosopen.org
Once there are updates ready we’ll let everyone know if they were selected; we might end up with lots of duplicated skills and have to resort to picking names out of a hat.