4 ms·
Zba extension (mandatory in RVA23 profile) provides `sh{1,2,3}add rd, rs1, rs2` ie `rd = rs1 << {1,2,3} + rs2`, so a fusion with a subsequent load from `rd` wou
by Arnavion 2y ago
Zba extension (mandatory in RVA23 profile) provides `sh{1,2,3}add rd, rs1, rs2` ie `rd = rs1 << {1,2,3} + rs2`, so a fusion with a subsequent load from `rd` would only require fusing two instructions.
- dmitrygr 2y agoAnd which cores currently support it? And unless the answer is “all”, it will not be used. Feature detection works for well-isolated high-performance kernels using things like AVX. No one‘s going to do feature detection for load/store instructions. Which means that all your binaries will be compiled to the lowest common denominator
- Arnavion 2y agoAs I said, it's mandatory in RVA23 profile. In fact it has been mandatory since RVA22 profile. A bunch of cores appear to support RVA22. Whether prebuilt distribution binaries support it or not, I can't tell. Simple glance at Debian and Fedora wiki pages doesn't reveal what profile they target, and I CBA to boot an image in qemu to check. In the worst case they target only GC so they won't have Zba. Source distributions like Gentoo would not have a problem. In any case, talking about the current level of extension support is moving the goalposts. You countered "there is nothing about the RISC-V architecture which inherently prevents it from ever being competitive with ARM" with "Lack of reg+shifted reg addressing mode", which is an argument about ISA, not implementation.
- camel-cdr 2y agoubuntu announced they want to suppory RVA23 in their next LTS 25.04 IIRC. That doesn't really make sense, unless we get new hardware with RVA23 support till then.
- rwmj 2y agoThe reality is everyone is targeting RV64GC, until we get cheap and widely available RVA23 boards. At some point after that, everyone will switch.
- mshockwave 2y agoZb extension is in both RVA22 and RVA23 profiles, meaning application cores (targeting consumer devices like smartphones) designed in the past few years almost certainly have shXadd instructions in order to be compatible with the mainstream software ecosystem
- dmitrygr 2y ago> meaning application cores (targeting consumer devices like smartphones where are they?
- camel-cdr 2y agoYou are aware that hardware takes time to build, tapeout and productise? On the open-source front, I can right now download a RVA23 supporting RISC-V implementation, simulate the RTL and have it out perform my current Zen1 desktop per cycle in scalar code: https://news.ycombinator.com/item?id=41331786 https://news.ycombinator.com/item?id=41331786 (see the XiangShanV3 numbers)
- fidotron 2y agoRISC-V has existed for over a decade and in that time no one has got close to building a competitive non microcontroller level CPU with it. How long is this supposed to take? How long until it is accepted that RISC-V looks like a semiconductor nerd snipe of epic proportion designed to divert energy away from anything that might actually work? If it was not designed for this it is definitely what it has achieved.
- camel-cdr 2y agoThe name RVA23 might give you a hint around which time the extensions required for high performance implementations to be viable were rougly standardized. The absolutely essential bitmanip and vector extensions were just ratified at the end of 2021 and the also quite important vector crypto just in 2023.
- justahuman74 2y agoRVA23 will become the only thing anyone targets
- dmitrygr 2y agoIn the year of the Linux desktop, with Wayland and IPv6 for all. /s
- dmitrygr 2y agoI think you’re missing a point here. The fact that this was not part of the initial design speaks volumes, since it is entirely obvious to anybody who has ever designed an ISA or looked at assembly of modern binaries. Look at aarch64 for an example an ISA designed for actual use.