https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127244

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Drea Pinski from comment #2)
> The question becomes should the constraint on this inline assembly be "=r,m"
> or "=rm".  The former gives the decent code.

With "=r,m", the compiler creates the following sequences in the kernel:

  2d720c:       9c                      pushf
  2d720d:       41 5c                   pop    %r12
  2d720f:       4c 89 64 24 18          mov    %r12,0x18(%rsp)
  2d7214:       fa                      cli

In this case %r12 temporary is not needed, but this might be PR124209.

Otherwise, "=r,m" variant looks much better. But... shouldn't these two be
equal as far as RA is concerned?

Reply via email to