E

Embecosm Blog

embecosm.com · Company blog · on HN since 2015

Embecosm, a compiler and embedded software consultancy, writes about GCC, LLVM, Rust, RISC-V, and unusual processor targets.

What HN saysCommenters cite it for compiler work like non-8-bit char support and RISC-V vector extension support in GCC and LLVM, and a Cray-1 wiring photo.
16HN people shared it
8linked it in comments
10stories submitted
172story points
9 months agolast shared
2015people per year2026

Most-shared posts

  1. 1
    GCC-Rust Development Plan
    3 people · 6 points · first shared 2021 · discussion on HN
  2. 2
    Non 8-bit char support in Clang and LLVM
    3 people · 1 points · first shared 2017 · discussion on HN
  3. 3
    How similar are GCC and LLVM: The user perspective
    2 people · 4 points · first shared 2016 · discussion on HN
  4. 4
    How Much Does a Compiler Cost?
    1 people · 129 points · first shared 2018 · 70 comments on HN
  5. 5
    Utilizing LLVM TableGen to Generate SSH Configs
    1 people · 22 points · first shared 2015 · 3 comments on HN
  6. 6
    Superoptimization [pdf]
    1 people · 7 points · first shared 2020 · discussion on HN
  7. 7
    AAP: An Altruistic Processor
    1 people · 2 points · first shared 2016 · discussion on HN
  8. 8
    A dive into RI5CY core internals
    1 people · 1 points · first shared 2019 · discussion on HN
  9. 9
  10. 10
    Homepage
    1 people · first shared 2017
  11. 11
    Cray 1 Wiring.jpg
    1 people · first shared 2024
  12. 12
    Gcc risc v bit manipulation extension
    1 people · first shared 2020
  13. 13
    Ean10 howto llvmas 1.0
    1 people · first shared 2018

What HN people wrote when they linked it

pjmlp · 2025-02-10
Who do you think does most of the work in LLVM for example? It is full of PhD paper contributions. For example, research students doing internships at Embecosm (https://embecosm.com), as many others, plenty of material from LLVM Developers Meeting sessions.
purplehat_ · 2026-02-04
To be fair, the octet as the byte has been dominant for decades. POSIX even has the definition “A byte is composed of a contiguous sequence of 8 bits.” I would wager many software engineers don't even know that a non-octet bytes were a thing, given that college CS curricula typically just teach a byte is 8 bits. I found some search results about Texas Instruments' digital signal processors using 16-bit bytes, and came across this blogpost from 2017 talking about implementing 16-bit bytes in LLVM: https://embecosm.com/2017/04/18/non-8-bit-char-support-in-clang-and-ll… Not sure if they actually implemented it, but that was surprising to me that non octet bytes still exist, albeit in a very limited manner. Do you know of any other uses for bytes that are not 8 bits?
childintime · 2020-06-22
Agreed on the sentiment. There is zero chance of getting it into the base, C or even M sets, as they have existing implementations. But maybe a lone Z (without the usual lowercase letters) could mean just this instruction. I found this to be a helpful discussion: https://www.embecosm.com/2019/10/22/gcc-risc-v-bit-manipulation-extens…
snvzz · 2019-02-17
Meantime, in the royalty-free side, RISCV's work on V extension continues: https://www.embecosm.com/2018/09/09/supporting-the-risc-v-vector-exten…
comex · 2018-10-13
Most of the embedded world has 8-bit bytes, not just ARM. Even when it comes to XAP2, there's the newer XAP2b which apparently supports byte addressing [1]. But if you do want larger bytes… well, the first step would be getting LLVM to support them. According to this blog post from last year, it's theoretically possible but would need work: https://www.embecosm.com/2017/04/18/non-8-bit-char-support-in-clang-an… And of course, you'd need an LLVM backend for the architecture in question. Only then would the ball be in the court of rustc itself. At that point, I still wouldn't expect non-8-bit byte support be a priority for the core developers, but I expect patches would be welcome. Though if the LLVM backend includes support for emulating u8 and u8 pointers where necessary, relatively little change would be needed from rustc anyway. [1] "The XAP2b adds data-side byte addressing support to the XAP2 by utilizing the 15th bit of the data-side address bus to indicate byte or word accesses." http://static6.arrow.com/aropdfconversion/ef173143abb7413e6981d32e4d99…
nextaccountic · 2021-04-18
Some links on the most promising effort so far, gccrs https://opensrcsec.com/open_source_security_announces_rust_gcc_funding https://www.embecosm.com/2021/01/12/gcc-rust-how-it-can-be-achieved/ https://rust-gcc.github.io/ This is an entirely new frontend written in C++, that shares no code with rustc (the official rust compiler). It might be merged some day in GCC proper. But honestly, I'm more excited for rustc_codegen_gcc: https://github.com/antoyo/rustc_codegen_gcc It adds gcc as an alternative backend of the official Rust compiler. That way it is much more feasible to stay up to date as the language evolves. Anyway the former two don't actually work right now. The one that does work today is mrustc, or at least it works for bootstrapping rustc; it doesn't have a borrow checker though (and instead assumes the program is correct). Also, mrustc isn't based on gcc. https://github.com/thepowersgang/mrustc (There's a fourth project, https://github.com/sapir/gcc-rust, but it seems abandoned)

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close