3 ms·
Took a while but this issue was fixed this year. Until then, you could compile a patched version of LLVM, or use an older nightly. And the code generation was
by bombela 4y ago
Took a while but this issue was fixed this year. Until then, you could compile a patched version of LLVM, or use an older nightly.
And the code generation was quite broken indeed. Most importantly the saving of registers within interrupt handlers. Hard to understand the bug, but I had documented a simple inline asm solution on the issue. It has been fixed since then.
My last experience was quite good. And I didn't notice wrong codegen.
As an aside, the inline asm combines pretty well with generics to produce custom machine code during compilation. For example I was able to reproduce the gcc-avr built-in for delays: https://github.com/avr-rust/delay/blob/cycacc/src/delay_cycles.rs https://github.com/avr-rust/delay/blob/cycacc/src/delay_cycl...
- bpye 4y agoOh hey, you're right, I went and found the issue but didn't scroll down after seeing it was still open. That's great! I might try and revive my previous project. I had tried an older nightly but that's where I think I was seeing bad codegen.