3 ms·
Vectorizing Unicode conversions on real RISC-V hardware
- rwmj 3y agoIt would be cool to add this to iconv (part of glibc I think). There's a lot of code that interfaces with Windows formats that converts to and from UTF-16LE. In fact I was just fixing a binutils bug recently in code which did this.
- camel-cdr 3y agoThe project was mostly inspired by simdutf [0] which has been around for a couple of years already, and I don't think iconv has any of its vectorized implementations for other architectures. [0] https://github.com/simdutf/simdutf https://github.com/simdutf/simdutf
- 0x000xca0xfe 3y agoIt's honestly fascinating how the same RISC-V binary might run in different ways on wildly different CPU implementations. Binary compatibility seems to be some kind of invisible glue that is often overlooked but holds software ecosystems together, e.g. people buying brand-new Steam Decks to run age-old Win32 exes. I wonder what kind of unexpected developments will grow on a simple, stable and microarchitecture-agnostic ABI like RISC-V. A plethora of niche JIT compilers maybe?
- shash 3y agoThe immediate one is that precompiled binaries will just work, as long as they don’t do I/O (the memory map for IO devices being implementation specific). Do you really need JIT if every targeted device has the same ISA?
- renox 3y agoSimple and stable aren't the most important part: AFAIK anybody can implement a CPU or an emulator with RISC-V ISA, which isn't the case for the other ISA.. There are a few exception such as OpenPower but you can't really buy CPU with those ISA.