When dealing with local variables, the normal way is after pushing rbp and moving rsp's value to rbp, we subtract rsp to reserve space in the head of function, and accessing local variables via rbp. I wonder why not just push one once meeting a local variable, and we can still access local variables via rbp.
            Asked
            
        
        
            Active
            
        
            Viewed 271 times
        
    1
            
            
         
    
    
        Peter Cordes
        
- 328,167
- 45
- 605
- 847
 
    
    
        Evian
        
- 1,035
- 1
- 9
- 22
- 
                    It's faster to subtract once than pushing multiple times. – interjay Jul 02 '19 at 08:48
- 
                    1clang *does* do a dummy push/pop when it needs to move RSP by exactly 8 bytes. – Peter Cordes Jul 02 '19 at 09:10