2 ms·
I see the word "crypto" in each of your objections. While crypto is important, it's not the whole world and not everyone needs the absolute fastest crypto possi
by brucehoult 7y ago
I see the word "crypto" in each of your objections. While crypto is important, it's not the whole world and not everyone needs the absolute fastest crypto possible. If you do, then use a processor with crypto instruction extensions. If not, you can get by just fine with the operators C gives you.
Most software doesn't use rotate operations. When you do need one, it takes three instructions to synthesize it if the shift count is a constant, or four otherwise. Unless you're doing nothing but rotates you're not going to notice it. If you're doing any memory loads that miss in the L1 cache to get the data you're rotating then you're also not going to notice it.
The same goes for the indexed loads and stores. Measure it, don't just go on your feels.
The main problem with the the original post is that the author criticizes things based on his sense of aesthetics, and what he's used to, not on any kind of actual scientific experimentation and measurement of different options.
The whole premise of H&P's "Computer Architecture: A Quantitative Approach" is that you should base decisions about what to put into your hardware and what to leave out based on actual data, not on what seems prettier or more orthogonal to you.