On Tue, Nov 05, 2024 at 06:55:33PM +0100, Uros Bizjak wrote: > The difference between redzoned and non-redzoned code is *two* > instructions that decrease and increase stack pointer, which I think > is an acceptable compromise between correctness and performance. Also
It is not. Because this price is paid for the 99.9% of inline asms that don't really need it. It is much better to pay it portably by adding the two instructions to the inline asm that really need it. That is something that will not work just with new GCC versions, but all past releases as well. And by adding a new clobber allow better fine tuning (e.g. if one knows they use inline asm that needs to do calls many times in the same otherwise leaf function, they can use the clobber to force it). Jakub