Hacker News new | ask | show | jobs
by yaantc 3605 days ago
> Are there targets out there that gcc supports which aren't supported by LLVM? Probably not too many

Plenty in the embedded space. Just compare the GCC backend list at https://gcc.gnu.org/backends.html to what LLVM supports ("only" X86, X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore).

The embedded space is very diverse, and even if LLVM backend support is good it's still nowhere near GCC. They're pretty niche of course and LLVM does a good job of supporting the mainstream architectures (and even a bit more). Still, if you're in embedded development not being supported by GCC is limiting.

3 comments

Yeah. Trunk LLVM doesn't even have AVR support, so no Rustduino.
A prominent member of the rust community has been publishing a series on getting rust to target their Uno: http://jakegoulding.com/blog/2016/01/02/rust-on-an-arduino-u...
I could be wrong but I'd wager that there's some support for many of those backends that's just not upstreamed to LLVM.
You can say the same thing for GCC too, it's just that both of the pools (merged into trunk and not) are much larger.
If a compiler supports ARM and Thumb, it covers a majority of modern embedded platforms. The days of 8- and 16-bit microcontrollers are coming to an end -- 32-bit Cortex-Mx chips are very competitive on price and power consumption and much more capable.