←back to thread

366 points pabs3 | 1 comments | | HN request time: 0s | source
Show context
nolist_policy ◴[] No.41366371[source]
> The x86 instruction set is very very big. According to rough statistics, the ARM64 backend implements more than 1,600 x86 instructions in total, while the RV64 backend implements about 1,000 instructions

This is just insane and gets us full-circle to why we want RISC-V.

replies(6): >>41366607 #>>41366813 #>>41367102 #>>41367114 #>>41367130 #>>41368705 #
aithrowaway1987 ◴[] No.41366813[source]
I think the 1600 number is a coarse metric for this sort of thing. Keep in mind that these instructions are limited in the number of formal parameters they can take: e.g. 16 nominally distinct instructions can be more readily understood/memorized as one instruction with an implicit 4-bit flag. Obviously there's a ton of legacy cruft in Intel ISAs, along with questionable decisions, and I'm not trying to take away from the appeals of RISC (e.g. there are lots of outstanding compiler bugs around these "pseudoparamaterized" instructions). But it's easy to look at "1600" and think "ridiculous bloat," when in reality it's somewhat coherent and systematic - and more to the point, clearly necessary for highly performance-sensitive work.
replies(1): >>41367263 #
1. panick21_ ◴[] No.41367263[source]
> clearly necessary for highly performance-sensitive work

Its clearly necessary to have comparability back to the 80s. Its clearly necessary to have 10 different generation of SIMD. Its clearly necessary to have multiple different floating point systems.

replies(1): >>41368515 #