[Valgrind-developers] [PATCH 1/2] x86: optimize XCHG to MOV for same-register forms
Sam James
sam@gentoo.org
Fri Jul 3 10:04:30 GMT 2026
Jan Beulich <jbeulich@suse.com> writes:
> On 03.07.2026 08:09, Paul Floyd wrote:
>> On 2026-07-03 08:00, Jan Beulich wrote:
>>> On 03.07.2026 06:55, Paul Floyd wrote:
>>>> Would it be possible for gas to only do this transformation if the source and destination registers are different?
>>> When the registers are different, this transformation is invalid to do.
>>
>> OK so you are optimising a no-op. Does GCC use it as a no-op?
>
> I don't expect so. In fact, my take is that -O... should not be used on
> compiler generated code. The compiler should do whatever optimizations
> are possible / sensible, and it should not emit code which can (easily)
> further be optimized. (Easily because the assembler really only does
> very simple and pretty obvious transformations.)
Yes, that's reasonable. We should document it though.
>
> I can see that there may be a desire to optimize asm()-generated code.
> That imo shouldn't be done by passing -Wa,-O... but rather by some
> other, to be invented machinery. (We could tie it to the #APP / #NO_APP
> markers that the compiler emits, for example.)
>
> Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 418 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20260703/0e53f990/attachment.sig>
More information about the Binutils
mailing list