https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117312
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |WAITING Last reconfirmed| |2024-10-27 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I am not sure what you mean by this. The kernel ABI specifies there is no red-zone for x86_64. > An example of when this is unavoidable are constructs like pushf/pop to get > the current value of the flags register. >This is definitely used incorrectly in a fair bit of code in existence. There is an intrinsics already for reading the flags: __readeflags. And one for writing it: __writeeflags . Which was added in r0-127024-g9bbd48d120d203 for GCC 4.9.0 (11 years ago). The intrinsics uses builtins instead of inline-asm too. So that alone is not the reason to change this. As far as calls are, then using inline-asm is broken and not correct appoarch. Though "memory" clobber should be enough for that.