URI:
       [HN Gopher] Register deprivation: spills and runtime under force...
       ___________________________________________________________________
        
       Register deprivation: spills and runtime under forced register
       scarcity
        
       Author : surprisetalk
       Score  : 25 points
       Date   : 2026-07-30 12:20 UTC (2 days ago)
        
  HTML web link (rjp.io)
  TEXT w3m dump (rjp.io)
        
       | Scene_Cast2 wrote:
       | I wonder how much effect the CPU's register remapping has on
       | these results. Also, they ran it on an ancient CPU, but I'm not
       | sure how much that matters.
        
         | hinkley wrote:
         | Probably not that much because one of the legacies of x86 is
         | that library calling conventions are based on this same
         | registry scarcity. To make an API call there is a convention
         | that a limited number of registers are treated as callee-
         | preserves and the rest are caller-preserves. So your compiler
         | spills them defensively before calling out.
         | 
         | You can make a programming language that uses whatever
         | convention you want, but every time you make a system call or a
         | call to a C or Rust library, you're using essentially an FFI
         | and your FFI logic will have to handle the register spill and
         | recovery to match the convention. And if you convert your code
         | to a library, then it'll have to be dumbed down as well.
        
         | CalChris wrote:
         | How much effect the CPU's register remapping has? Probably a
         | lot and the article doesn't discuss it at all.
         | 
         | However, the Intel Xeon E-2236 was released in 2019; so it's
         | hardly ancient and the current E-2400 isn't so different.
         | 
         | As for hardware register renaming, Tomasulo dates to 1967 and
         | out-of-order ROBs were common in the 90s. I don't know that
         | there's been any major new ideas microarchitectural ideas in
         | register renaming since the 90s.
         | 
         | I still think it's a meaningful experiment but could be
         | improved with consideration of microarchitectural features.
        
       | derdi wrote:
       | This is pretty meaningless without showing any assembly code.
       | What does the inner loop for siphash look like? How many GPRs
       | does it use? Where are the spills placed? What does perf say
       | about any of this?
        
       ___________________________________________________________________
       (page generated 2026-08-02 00:01 UTC)