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.

Reply via email to